On Wed, Aug 17, 2005 at 08:26:46PM +0200, Andreas Jochens wrote:
> On 05-Aug-17 17:00, Scott James Remnant wrote:
> > For those following, the problem is that people are building 64-bit
> > libraries on a 32-bit platform (or the other way around) as part of the
> > package build.  dpkg-shlibdeps uses plain old "ldd" to find out the
> > dependencies of a binary or shared library, but the ldd on the system
> > won't be able to identify the impostor libraries.

> > This'll fail with:
> >     dpkg_shlibdeps -p lib64z1 -lbuild-tree/zlib-1.2.3
> >     /usr/bin/ldd: line 161: /lib64/ld-linux-x86-64.so.2: cannot execute 
> > binary file
> >     dpkg-shlibdeps: failure: ldd on 
> > `debian/lib64z1/usr/lib64/libz.so.1.2.3' gave error exit status 1
> >     dh_shlibdeps: command returned error code 256

> > In this example, the 32-bit i386 ldd on my system can't read the amd64
> > binaries that have been generated.

> Please 'apt-get install amd64-libs' and try this again. 'ldd' should
> work then.

> The current 'ldd' already supports biarch. 

> However, to work for 64-bit binaries, 'ldd' needs the 64-bit linker 
> '/lib64/ld-linux-x86-64.so.2'. This linker is currently in 'amd64-libs'
> (this may change to 'libc6-amd64' later).

> This means that the problem can be solved by always installing
> 'amd64-libs' (or 'libc6-amd64') before dpkg-shlibdeps is used for
> a 64-bit binary.

No, that doesn't solve the problem.  How are you supposed to invoke a
64-bit linker for a bi-arch build being done on a 32-bit buildd?

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/

Attachment: signature.asc
Description: Digital signature

Reply via email to