[Thread Prev][Thread Next]   >Date Index >Thread Index

Re: Perl 5.10.1/64 Bit auf Solaris 10 x86 ???

Stephen Riehm - Tue Feb 23 00:37:49 2010


Hey Gratuliere!!

Jetzt kannst Du bis zu 64 Perle zählen...
oder perl auch dann verwenden wenn Du plötzlich 64 Jahre alt wirst...
oder...

:-)

Ich weiss das wir gerade noch in einen geraden Monat sind und damit
kaum die Zeit haben an ungeraden Termine zu denken... aber vielleicht könntest Du uns das in Detail beschildern beim nächsten Perl Monger's... oder? ;-)

Doodle gefälligst?

Steve

On 22.02.2010, at 13:20, Eike Grote wrote:


Hallo,

jetzt hab ich's aber gelöst...   :-)


Es funktioniert dann, wenn man dem "Configure" gleich im
Argument mitteilt, daß man 64 Bits möchte:

./Configure -Duse64bitall -Dcc=/opt/SUNWspro/bin/cc

Wenn man "Configure" interaktiv startet, wird erst
(32-bittig !!!) geprüft "Checking how big your
integers are.."   =>  longsize=4

ABER: Im 64-Bit-Solaris sind "long"s 8 Byte groß.

Das wird nur dann korrekt erkannt, wenn man gleich
"use64bitall" angibt, weil dann auch das sizeof-
Testprogramm 64-bittig kompiliert wird.


Allerdings hat das nur mit dem Sun-Studio-Compiler
geklappt; beim gcc gibt's später bei der Glob.so ein
Relocation-Problem, was denke ich an den GNU-Libraries
liegt (still unsolved...).


# file ./perl
./perl: ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE FXSR CMOV
FPU], dynamically linked, not stripped
# ./perl -le '$s="abc";$s=~/(a)/ && print "ok"'
ok


Und "make test" meldet "All tests successful"...



Eike



Am Do 11.02.2010 14:10 schrieb marek.rouchal@infineon.com:

Ich habe es gerade nachvollzogen - auch hier (perl-5.10.1, threads,
shared libperl, 64bit, Solaris 10 x86, Studio 12) stuerzt miniperl ab
- aber im Prinzip geht miniperl:

perl-5.10.1> file miniperl
miniperl: ELF 64-bit LSB executable AMD64 Version 1 [SSE2 SSE FXSR
CMOV FPU], dynamically linked, not stripped

perl-5.10.1> env
LD_LIBRARY_PATH=/disk/mucsxelba45/fs1/tmp2/perl-5.10.1:/opt/ sunstudio_12/rtlibs:/opt/sunstudio_12/rtlibs/amd64
./miniperl -Ilib -e 'print "hello\n"'
hello

perl-5.10.1> env
LD_LIBRARY_PATH=/disk/mucsxelba45/fs1/tmp2/perl-5.10.1:/opt/ sunstudio_12/rtlibs:/opt/sunstudio_12/rtlibs/amd64
./miniperl -Ilib -e '$a = "hello\n"; $a =~ s/h/H/; print $a'
Hello

Aber:

perl-5.10.1> env
LD_LIBRARY_PATH=/disk/mucsxelba45/fs1/tmp2/perl-5.10.1:/opt/ sunstudio_12/rtlibs:/opt/sunstudio_12/rtlibs/amd64
./miniperl -Ilib autodoc.pl
Segmentation fault

Das wird wohl eine harte Nuss :-/

-Marek


--
Dr. Eike Grote
eike.grote@consol.de ConSol* Software GmbH
Phone +49-89-45841-286 Consulting & Solutions
Fax +49-89-45841-111 Franziskanerstr. 38
http://www.consol.de D-81669 München





Next: