dpkg-shlibdeps: not finding just build libraries
Hello,
I am trying to build a package (binutils for cross targets) which now
also builds a shared library (libbfd) which fullfills the dependency
of some binaries just built (objdump; objcopy).
The upstream code builds fine, but, when I trigger dh_shlibdeps....
[...]
dh_installdeb -s
LD_LIBRARY_PATH=/usr/lib/libfakeroot:/usr/lib64/libfakeroot:/usr/lib32/libfakeroot:/usr/arm-linux-gnueabi/lib
dh_shlibdeps -s
dpkg-shlibdeps: error: couldn't find library libbfd-2.20.1.20100303.so
needed by debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-objcopy
(ELF format: 'elf32-i386'; RPATH:
'/usr/arm-linux-gnueabi/i486-linux-gnu/arm-linux-gnueabi/lib').
Note: libraries are not searched in other binary packages that do not
have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to set
LD_LIBRARY_PATH.
dh_shlibdeps: dpkg-shlibdeps
-Tdebian/binutils-arm-linux-gnueabi.substvars
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-strip
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-strings
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-objdump
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-nm
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-addr2line
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-gprof
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-objcopy
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-readelf
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-as
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-size
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-ar
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-ld
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-c++filt
debian/binutils-arm-linux-gnueabi/usr/bin/arm-linux-gnueabi-ranlib
returned exit code 2
make: *** [binary-arch] Error 9
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
Those missing libs are just build under:
$ ls -l install/binutils/usr/arm-linux-gnueabi/i486-linux-gnu/arm-linux-gnueabi/lib/
total 7896
-rwxr-xr-x 1 zumbi zumbi 2502645 may 4 16:14 libbfd-2.20.1.20100303.so
-rw-r--r-- 1 zumbi zumbi 4788842 may 4 16:14 libbfd.a
-rwxr-xr-x 1 zumbi zumbi 1095 may 4 16:14 libbfd.la
lrwxrwxrwx 1 zumbi zumbi 25 may 4 16:14 libbfd.so ->
libbfd-2.20.1.20100303.so
-rwxr-xr-x 1 zumbi zumbi 287677 may 4 16:14 libopcodes-2.20.1.20100303.so
-rw-r--r-- 1 zumbi zumbi 464144 may 4 16:14 libopcodes.a
-rwxr-xr-x 1 zumbi zumbi 1118 may 4 16:14 libopcodes.la
lrwxrwxrwx 1 zumbi zumbi 29 may 4 16:14 libopcodes.so ->
libopcodes-2.20.1.20100303.so
Those missing libraries (I expect) are also found at binutils-dev |
binutils-multiarch
$ dpkg -S libbfd-2.20.1.20100303.so
dpkg: *libbfd-2.20.1.20100303.so* not found.
$ dpkg -L binutils-dev
[...]
/usr/lib/libbfd.a
desviado por binutils-multiarch a: /usr/lib/libbfd-single.a
/usr/lib/libopcodes.a
desviado por binutils-multiarch a: /usr/lib/libopcodes-single.a
/usr/lib/libopcodes.so
/usr/lib/libbfd.so
$ dpkg -L binutils-multiarch
[...]
/usr/lib/libopcodes-2.20.1-multiarch.20100303.so
/usr/lib/libbfd-2.20.1-multiarch.20100303.so
OK, now, how should I proceed if I want to use just build
libbfd-2.20.1.20100303.so?
Should I best use libbfd-2.20.1-multiarch.20100303.so provided by
binutils-multiarch package?
How do I instruct dh_shlibdeps to find the just build library or the other one?
Kind regards,
--
Héctor Orón
"Our Sun unleashes tremendous flares expelling hot gas into the Solar
System, which one day will disconnect us."
Reply to: