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