[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libtool installs a "T" version of shared library, with wrong LIBADD met
From: |
Andy Buckley |
Subject: |
libtool installs a "T" version of shared library, with wrong LIBADD metadata |
Date: |
Fri, 10 Oct 2008 09:51:04 -0700 (PDT) |
User-agent: |
G2/1.0 |
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:
buckley@d18:~/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:
whalley@h3:~/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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- libtool installs a "T" version of shared library, with wrong LIBADD metadata,
Andy Buckley <=