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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to