Ken, These are the flags we need (with gcc at least):
PRE_WHOLE_ARCHIVE => '-Wl,-zallextract', POST_WHOLE_ARCHIVE => '-Wl,-zdefaultextract', But PerlInterpreter is still broken on Solaris. I finally found a Solaris machine, so I'll try to debug it. Patrick ----- Original Message ----- > Ken, > > The point of those flags is as follows. Using gcc, if you want the > linker to "swallow" certain libraries when > creating a shared object, you must use these flags around those > libraries. Here's an example from linux: > > LD_RUN_PATH="" gcc -Wl,--whole-archive -rdynamic > -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE > -L/usr/local/lib > /usr/lib/perl5/5.8.0/i386-linux-thread-multi/auto/DynaLoader/DynaLoader.a > -L/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -lperl -lnsl -ldl > -lm -lpthread -lc -lcrypt -lutil -Wl,--no-whole-archive -shared > -L/usr/local/lib PerlInterpreter.o -o > ../../blib/arch/auto/Inline/Java/PerlInterpreter/PerlInterpreter.so > > This basically tells the linker that DynaLoader.a should be included in > PerlInterpreter.so. I think or else the > Linux linker assumes that DynaLoader.a will already be loaded and does > not swallow it. On Windows > however, swallowing seems to be the default, that's why those flags are > set to "". > > BTW: I got this stuff from someone else (Doug MacEachern) and I'm no C > compiler/linker expert, but that's > what I make of it. > > Patrick > > > Williams, Kenneth (Ken) (TLR Corp) wrote: > >>Hi Patrick, >> >>If I knew what the point of those flags was, I might be able to help find >> out what their equivalents are using the Solaris ld. I can't promise >> much expertise, but I'm interested in getting this stuff working here so >> I'll help out if needed. >> >> -Ken >> >> >> >>>-----Original Message----- >>>From: Patrick LeBoutillier [mailto:[EMAIL PROTECTED] >>>Sent: Wednesday, May 26, 2004 8:06 AM >>>To: Williams, Kenneth (Ken) (TLR Corp) >>>Cc: [EMAIL PROTECTED] >>>Subject: Re: Inline::Java 0.48_92 link failures >>> >>> >>>Ken, >>> >>>Williams, Kenneth (Ken) (TLR Corp) wrote: >>> >>> >>> >>>>Update: >>>> >>>>I dug around in some source files, and without ANY >>>> >>>> >>>understanding of the ramifications, I just added >>> >>> >>>> PRE_WHOLE_ARCHIVE => '', >>>> POST_WHOLE_ARCHIVE => '', >>>> >>>>to the Solaris part of Java/Portable.pm. It built without >>>> >>>> >>>errors, but then produced the following errors during 'make >>>test'. So I'm guessing the link still didn't happen correctly... >>> >>> >>>> >>>> >>>> >>>> >>>I do not have access to a Solaris machine, so I haven't had a >>>chance to >>>test the PerlInterpreter >>>extension on that platform. Thoses flags are really gcc/ld flags that >>>work on Linux, and it so happens >>>that removing them on Win32 gives the desired results. >>> >>>I'll try to get my hands on a Sun box and give it a try. >>> >>>Thanks, >>> >>>Patrick >>> >>> >>>-- >>>===================== >>>Patrick LeBoutillier >>>Laval, Quebec, Canada >>> >>> >>> >> >> >> >> > > > -- > ===================== > Patrick LeBoutillier > Laval, Quebec, Canada > > >