Yup, when I try those flags it seems to link correctly (I guess), then dumps core 
during the PerlInterpreter test.  Unfortunately I haven't a clue what to try next.

 -Ken

> -----Original Message-----
> From: Patrick LeBoutillier [mailto:[EMAIL PROTECTED]
> Sent: Monday, May 31, 2004 8:04 PM
> To: [EMAIL PROTECTED]
> Cc: Williams, Kenneth (Ken) (TLR Corp); [EMAIL PROTECTED]
> Subject: Re: Inline::Java 0.48_92 link failures
> 
> 
> 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/D
> ynaLoader.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