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

Re: 32bit binaries run on pure64!?



On Fri, Mar 18, 2005 at 08:36:26PM +0100, Hannes Mayer wrote:
> On Fri, 18 Mar 2005 13:20:08 -0600, Stephen Waters wrote:
> > On Fri, 2005-03-18 at 20:15 +0100, Hannes Mayer wrote:
> [...]
> > > How come that 32bit binaries run on pure64 without any chroot or the
> > > ia32 libs installed ?
> > 
> > They're probably statically compiled so they'll work on any system. Run
> > ldd on one of the binaries and it'll tell ya what it links to (very
> > likely, nothing).
> Ahh! Didn't consider that they are compiled statically.
> But ldd seems to be broken:
> # ldd pppd
> /usr/bin/ldd: line 145: /lib/ld-linux.so.2: No such file or directory
> ldd: /lib/ld-linux.so.2 exited with unknown exit code (127)

That means it is a dynamicly built binary and your system doesn't have
32bit runtime libraries installed.  ld-linux.so.2 is provided by the
32bit version of libc6.

> # ldd pptp
> /usr/bin/ldd: line 145: /lib/ld-linux.so.2: No such file or directory
> ldd: /lib/ld-linux.so.2 exited with unknown exit code (127)
> # ldd dhcpcd
> /usr/bin/ldd: line 145: /lib/ld-linux.so.2: No such file or directory
> ldd: /lib/ld-linux.so.2 exited with unknown exit code (127)

Same as above.

> So I tried to make a symlink:
> debian:/lib# ln -s ld-2.3.2.so ld-linux.so.2
> But:
> # ldd pptp
>         not a dynamic executable

It doesn't work that way.  If it is a dynamic library it needs the 32bit
libs to even look at it.  The 64bit libs won't work with it so ldd won't
work with it.

If they are staticly built they should just run if you try to run them I
believe.

Either install the 32bit libs package or find the equivalant debian
programs in 64bit packages and use those instead (highly recomended).
You can still use the scripts provided.

Len Sorensen



Reply to: