LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Ricky Tang Siu Hong (shtang_at_[hidden])
Date: 2005-02-21 21:47:12


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