[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: