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-18 06:54:00


Hello,

I have some problem to compile lam-7.2b1r10059 using PGI 5.1/5.2.

The shared library share/liblam/.libs/liblam.so.0.0.0 is not archived
correctly. So it contains no useful symbols and compilation stops at some
point later to link with liblam.so.

Then I found out pgcc compiler do not pass option (with -Wl flag) to linker
with correct order. The line below shows the command generated by pgcc to
invoke ld, which "--whole-archive" is placed after the useful obj files,
just next to "--no-whole-archive".

Although this seems to be a PGI related problem.... Because earlier post
have addressed to a PGI problem by adding "-Wl" argument.... So I think it
may be helpful to report here so we can work out the way to finally get
dynamic SSI modules to work on this fainting compiler!

Thank you very much in advanced.

[shtang_at_precision liblam.1]$ pgcc -# -shared -Wl,--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 -Wl,--no-whole-archive -ldl -lpthread
 -lc -Wl,-soname -Wl,liblam.so.0 -o .libs/liblam.so.0.0.0

/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

[shtang_at_precision liblam.1]$ nm -D .libs/liblam.so.0.0.0
0000000000100a30 A __bss_start
                 w __cxa_finalize
0000000000100800 A _DYNAMIC
0000000000100a30 A _edata
0000000000100a38 A _end
00000000000007b8 T _fini
00000000001009f8 A _GLOBAL_OFFSET_TABLE_
                 w __gmon_start__
0000000000000698 T _init
                 w _Jv_RegisterClasses
(--end of paste--)

--
Ricky Tang
Cluster Technology Limited
shtang_at_[hidden]