Hi,

I've got a library, libLHAPDF.so, which is accessed by a SWIG Python
wrapper, implemented as a libtool library module, _lhapdf.so. In order
to work, _lhapdf.so needs to open the main LHAPDF library to get the
function definitions, so my Makefile.am for the SWIG wrapper contains
the line

_lhapdf_la_LIBADD = $(top_builddir)/lib/libLHAPDF.la

which on my system puts a nice NEEDED section into the .so:

[EMAIL PROTECTED]:~/proj/hep/lhapdf$ objdump -p pyext/.libs/_lhapdf.so
[...]
Dynamic Section:
  NEEDED      libLHAPDF.so.0
  NEEDED      libstdc++.so.6
[...]

And all is well. However, on another developer's machine, the NEEDED
reference to libLHAPDF.so.0 is present in the build directory, but
missing in the installed library. The result is that the Python import
of the "lhapdf" module fails due to undefined symbols. After a bit of
investigation I noticed that libtool is actually creating a secondary
"T" version of the library:

[EMAIL PROTECTED]:~/proj/lhapdf/pyext$ ls -l .libs/_*
-rw-r--r-- 1 whalley nisusers 1705640 2008-10-10 17:06 .libs/_lhapdf.a
lrwxrwxrwx 1 whalley nisusers      13 2008-10-10 17:06 .libs/
_lhapdf.la -> ../_lhapdf.la
-rw-r--r-- 1 whalley nisusers     976 2008-10-10 17:06 .libs/
_lhapdf.lai
-rw-r--r-- 1 whalley nisusers 1689040 2008-10-10 17:06 .libs/
_lhapdf_la-lhapdf_wrap.o
lrwxrwxrwx 1 whalley nisusers      16 2008-10-10 17:06 .libs/
_lhapdf.so -> _lhapdf.so.0.0.0
lrwxrwxrwx 1 whalley nisusers      16 2008-10-10 17:06 .libs/
_lhapdf.so.0 -> _lhapdf.so.0.0.0
-rwxr-xr-x 1 whalley nisusers 1090000 2008-10-10 17:06 .libs/
_lhapdf.so.0.0.0
-rwxr-xr-x 1 whalley nisusers 1090000 2008-10-10 17:43 .libs/
_lhapdf.so.0.0.0T

(note the timestamp on .libs/_lhapdf.so.0.0.0T ... I tried deleting it
and it was automatically rebuilt) This version is missing the library
chaining NEEDED entry for libLHAPDF and is the one that's installed,
since this appears in the build log:

/usr/bin/install -c .libs/_lhapdf.so.0.0.0T /scratch/local/lib/
python2.5/site-packages/_lhapdf.so.0.0.0

Can anyone help? I can't find anything useful on the Web or in the
libtool documentation about these "T" suffixes, and it's currently
blocking release of the library!

Best wishes,
Andy
_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to