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
>
>
>

Reply via email to