On Sun, 13 May 2007, Sam Hartman wrote:
> Package: dpkg-dev
> Version: 1.13.25
> Severity: normal
> 
> I have an i386 system with both i386 and amd64 libraries in
> /etc/ld.so.conf.  This is useful because it makes it easier to run
> amd64 binaries.  Modern ld.so will just skip libraries of architecture
> that conflict with the executable.  However, dpkg-shlibdeps runs
> objdump, which complains if the format is unrecognized.
> So, dpkg-shlibdeps always fails  on my system because it finds
> /lib64/libc.so.6 before /lib/libc.so.6.

Can you precise how we can more generally reproduce that? It doesn't seem
to be reproducible with current unstable.

1/ First off it looks like amd64 binaries are nowadays recognized by i386's
objdump... so your failure case might have disappeared. In fact, I tested
with a powerpc library and objdump didn't fail on it either.

2/ Then I tried to put the powerpc libc first in my LD_LIBRARY_PATH
and it looks like ld.so doesn't skip over it like you say. Instead I got
failures like:
/usr/bin/perl: error while loading shared libraries: 
/home/rhertzog/tmp/libc/lib/libdl.so.2: ELF file data encoding not little-endian

Doing the same with an amd64 lib effectively works, but that means that
the principle is not applicable to all arches...


It's true that a failure of "objdump -a" will lead to the end of
dpkg-shlibdeps. However I'm reluctant to remove the failure case now that
objdump is apparently able to parse correctly more formats.

So I'd suggest closing this bug.

Cheers,
-- 
Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :
http://www.ouaza.com/livre/admin-debian/


Reply via email to