Under SPARC Solaris 2.5.1 and JDK 1.1.7, on "make test", I get a message
that I don't have the right patches installed:
bash-2.00$ make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib
You must install a Solaris patch to run this version of the Java
runtime. Please see the README and release notes for more information.
Abort - core dumped
make: *** [test_dynamic] Error 134
I found a workaround for this. Before I came across the workaround, I
upgraded to Solaris 2.7 on this machine (a lowly IPX with a 424MB hard
drive), which was an interesting process, to say the least...
Apparently, this error is triggered whenever you use JNI without linking
with "-lthread -lc" in that order. Perl loads libc before Java gets a
chance to, so I decided to try this out by building a threading Perl.
and the tests passed, the frame appeared - I was not using
libPerlInterpreter, which is the breakthrough I've been trying to achieve!
I also got the above to work with the binary distribution of 5.005_03 from
sunfreeware.com, which comes with usemymalloc=y and useshrplib=false. This
is good, because it means (in theory) that people who don't want to build
Perl from source can play around with JPL (in theory).
Now, I'm going to rebuild 5.005_03 with libs='-lpthread -lc -lsocket -lnsl
-ldl -lm -lposix4 -lcrypt' to see if I can get rid of the LD_PRELOAD
business on Solaris.
I'm wondering if this linking order will adversely affect normal threading
operations with Perl? I got the impression that libthread/libpthread, at
least on Solaris, needs to override some of the functions in libc in order
to function properly. If libc gets loaded before libpthread, I think some
things might break.
Brian Jepson * (firstname.lastname@example.org) * http://users.ids.net/~bjepson