On Fri, 2007-11-23 at 10:39 +0100, Raphael Hertzog wrote: > Hello, Hello,
> as announced in > http://lists.debian.org/debian-devel-announce/2007/09/msg00004.html the > new dpkg-shlibdeps is stricter in what it accepts and will fail when it > can't find dependency information for a library that is used by an > executable or a public library (a public library is defined as a library > which has a SONAME, see the output of "objdump -p"). > > Failures look like this: > dpkg-shlibdeps: failure: No dependency information found for > libkdeinit4_kfmclient.so (used by debian/konqueror/usr/bin/kfmclient). > > It might also look like this: > dpkg-shlibdeps: failure: couldn't find library libhpip.so.0 (note: only > packages with 'shlibs' files are looked into). I am exactly seeing this for 'shogun-octave' and I ask for your advise how to fix things. octave2.9 contains a couple of .so files in /usr/lib/octave-2.9.17, when building extensions to octave (as with shogun-octave), the resulting 'sg.oct' file is linked to some of the .so files in that directory, which of course is not available in ld.so.conf or the like, so dpkg-shlibdeps fails to find the libraries, e.g. liboctinterp.so. Also according to objdump also only has SONAME liboctinterp.so. As octave handles loading extensions itself, --rpath or the like are not normally needed. But what is the intended way of fixing things with the newer dpkg-shlibdeps ? Adding --rpath ? $ dpkg-shlibdeps build-octave/sg.oct dpkg-shlibdeps: failure: couldn't find library liboctinterp.so (note: only packages with 'shlibs' files are looked into). $ LD_LIBRARY_PATH=/usr/lib/octave-2.9.17/ dpkg-shlibdeps -v build-octave/sg.oct Scanning build-octave/sg.oct (for Depends field) Library liboctinterp.so found in /usr/lib/octave-2.9.17/liboctinterp.so Library libcruft.so found in /usr/lib/octave-2.9.17/libcruft.so Library liboctave.so found in /usr/lib/octave-2.9.17/liboctave.so Library liblapack.so.3 found in /usr/lib/liblapack.so.3 Library libblas.so.3 found in /usr/lib/libblas.so.3 Library libstdc++.so.6 found in /usr/lib/libstdc++.so.6 Library libm.so.6 found in /lib/libm.so.6 Library libgcc_s.so.1 found in /lib/libgcc_s.so.1 Library libpthread.so.0 found in /lib/libpthread.so.0 Library libc.so.6 found in /lib/libc.so.6 Looking up shlibs dependency of libstdc++.so.6 provided by 'libstdc++6' Found libstdc++6 (>= 4.2.1) in /var/lib/dpkg/info/libstdc++6.shlibs Looking up shlibs dependency of libc.so.6 provided by 'libc6' Found libc6 (>= 2.6.1-1) in /var/lib/dpkg/info/libc6.shlibs Looking up shlibs dependency of liblapack.so.3 provided by 'lapack3' Found atlas3-base | lapack3 | liblapack.so.3 in /var/lib/dpkg/info/lapack3.shlibs Looking up shlibs dependency of libblas.so.3 provided by 'refblas3' Found atlas3-base | refblas3 | libblas.so.3 in /var/lib/dpkg/info/refblas3.shlibs Looking up shlibs dependency of libpthread.so.0 provided by 'libc6' Found libc6 (>= 2.6.1-1) in /var/lib/dpkg/info/libc6.shlibs Looking up shlibs dependency of libm.so.6 provided by 'libc6' Found libc6 (>= 2.6.1-1) in /var/lib/dpkg/info/libc6.shlibs Looking up shlibs dependency of liboctinterp.so provided by 'octave2.9' dpkg-shlibdeps: warning: Can't extract name and version from library name `liboctinterp.so' dpkg-shlibdeps: warning: Can't extract name and version from library name `liboctinterp.so' Found nothing dpkg-shlibdeps: failure: No dependency information found for liboctinterp.so (used by build-octave/sg.oct). I am expecting similar problems with R extensions ... where libR.so is in /usr/lib/R/lib/libR.so and not even has a SONAME ... Any ideas? Thanks, Soeren -- For the one fact about the future of which we can be certain is that it will be utterly fantastic. -- Arthur C. Clarke, 1962
signature.asc
Description: This is a digitally signed message part