Ricky --
Thanks for tracking this down.
I'll see what I can do about fixing libtool; I'm responsible for the
PGI support in there (I submitted the patch for it a few months ago).
Interestingly enough, I pinged PGI support about libtool support many
times and they never replied to me (i.e., they say all the libtool
patches and never said that it wouldn't work).
On Feb 21, 2005, at 9:47 PM, Ricky Tang Siu Hong wrote:
> PGI reply:
>
> [shtang_at_precision liblam]$ pgcc -shared \ -Wl,--whole-archive \
> ../../share/args/.libs/liblamargs.a \
> ../../share/boot/.libs/liblamboot.a \
> ...
>
> should become
>
> [shtang_at_precision liblam]$ pgcc -shared \ -Wl,--whole-archive,\
> ../../share/args/.libs/liblamargs.a,\
> ../../share/boot/.libs/liblamboot.a,\
> ...
>
> (--whole-archive and objects in one argument)
>
> ref http://www.pgroup.com/userforum/viewtopic.php?t=165
>
>
> So, we need another libtool patch...
>
> Million thanks.
>
>
> ----- Original Message ----- From: "Ricky Tang Siu Hong"
> <shtang_at_[hidden]>
> To: "General LAM/MPI mailing list" <lam_at_[hidden]>
> Sent: Monday, February 21, 2005 5:57 PM
> Subject: Re: LAM: PGI compile problem on 7.2 beta
>
>
>>> Which in turn call the linker this way
>>> (can check with pgcc -#)
>>> /usr/bin/ld /usr/lib64/crti.o \
>>> /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/crtbeginS.o \
>>> -m elf_x86_64 -dynamic-linker \
>>> /lib64/ld-linux-x86-64.so.2 \
>>> ../../share/args/.libs/liblamargs.a \
>>> ../../share/boot/.libs/liblamboot.a \
>>> ../../share/etc/.libs/liblametc.a \
>>> ../../share/freq/.libs/liblamfreq.a \
>>> ../../share/kreq/.libs/liblamkreq.a \
>>> ../../share/libltdl/.libs/libltdlc.a \
>>> ../../share/mpi/.libs/liblamextra.a \
>>> ../../share/nreq/.libs/liblamnreq.a \
>>> ../../share/rreq/.libs/liblamrreq.a \
>>> ../../share/ssi/.libs/libssi_lam.a \
>>> ../../share/threads/.libs/liblamthreads.a \
>>> ../../share/trillium/.libs/liblamtrillium.a \
>>> ../../share/tstdio/.libs/liblamtstdio.a \
>>> -o .libs/liblam.so.0.0.0 \
>>> -L/usr/pgi/linux86-64/5.2/lib \
>>> -L/usr/lib64 \
>>> -L/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3 \
>>> -rpath /usr/pgi/linux86-64/5.2/lib \
>>> -shared --whole-archive --no-whole-archive \
>>> -ldl -lpthread -lc -soname liblam.so.0 \
>>> -lc -lnspgc -lpgc -lm -lgcc -lc -lgcc \
>>> /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/crtendS.o \
>>> /usr/lib64/crtn.o
>> To compare, the correct way to call the linker is:
>> (notice the place of --whole-archive)
>> /usr/bin/ld /usr/lib64/crti.o \
>> /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/crtbeginS.o \
>> -m elf_x86_64 -dynamic-linker \
>> /lib64/ld-linux-x86-64.so.2 \
>> -shared --whole-archive ../../share/args/.libs/liblamargs.a \
>> ../../share/boot/.libs/liblamboot.a \
>> ../../share/etc/.libs/liblametc.a \
>> ../../share/freq/.libs/liblamfreq.a \
>> ../../share/kreq/.libs/liblamkreq.a \
>> ../../share/libltdl/.libs/libltdlc.a \
>> ../../share/mpi/.libs/liblamextra.a \
>> ../../share/nreq/.libs/liblamnreq.a \
>> ../../share/rreq/.libs/liblamrreq.a \
>> ../../share/ssi/.libs/libssi_lam.a \
>> ../../share/threads/.libs/liblamthreads.a \
>> ../../share/trillium/.libs/liblamtrillium.a \
>> ../../share/tstdio/.libs/liblamtstdio.a \
>> -o .libs/liblam.so.0.0.0 \
>> -L/usr/pgi/linux86-64/5.2/lib \
>> -L/usr/lib64 \
>> -L/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3 \
>> -rpath /usr/pgi/linux86-64/5.2/lib \
>> --no-whole-archive \
>> -ldl -lpthread -lc -soname liblam.so.0 \
>> -lc -lnspgc -lpgc -lm -lgcc -lc -lgcc \
>> /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/crtendS.o \
>> /usr/lib64/crtn.o
>> _______________________________________________
>> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
--
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/
|