Subject: Re: Re: 'Abort' when using compat_netbsd32
To: Joel CARNAT <joel@carnat.net>
From: Paulo Alexandre Pinto Pires <p@ppires.org>
List: port-amd64
Date: 08/01/2005 17:57:01
On Mon, Aug 01, 2005 at 10:09:47PM +0200, Joel CARNAT wrote:
> On Mon, Aug 01 2005 - 16:51, Paulo Alexandre Pinto Pires wrote:
> > On Mon, Aug 01, 2005 at 09:18:05PM +0200, Joel CARNAT wrote:
> > > ,
> > > 
> > > I'm trying to see if apps (from netbsd/i386) work in netbsd/amd64.
> > > I installed netbsd32_compat16-1.0nb1, from pkgsrc, then untared static-
> > > bash-2.05.2.7nb5.tgz, from
> > > /pub/NetBSD/packages/pkgsrc-2005Q2/NetBSD-1.6.2/i386/All/static-bash-2.05.2.7nb5.tgz,
> > > into /emul/netbsd32.
> > > When I try to start it, it doesn't :
> > > $ pwd
> > > /usr/pkg/emul/netbsd32/bin
> > > $ file bash
> > > bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
> > > NetBSD, statically linked, stripped
> > > $ ./bash
> > > Abort 
> > > $ ldd bash
> > > ldd: bash: unrecognized file format
> > > 
> > > I'm using GENERIC (from NetBSD-daily) and it seems it has all the
> > > required things :
> > > $ strings /netbsd | egrep 'COMPAT_16|COMPAT_NETBSD32'
> > > _CFG_options \011COMPAT_16\011# NetBSD 1.6,
> > > _CFG_options \011COMPAT_NETBSD32
> > > 
> > > What do I miss ?
> > > What is the way to run things from the pkgsrc repository ?
> > 
> > Make sure you have /emul/netbsd32/libexec/ld.elf_so right, as
> > well as symbolic links in /emul/netbsd32/usr/lib that point to
> > /emul/netbsd32/lib or, preferrably, to ../../lib.
> > 
> 
> hum... I have untared (tar xvzpf) base.tgz in /emul/netbsd32 and made
> the link (reverse from what you say because /emul/netbsd32/usr/lib
> already existed), but it's not better :(

Perhaps your filesystems layout doesn't help you.  In my system
(where I have both NetBSD/i386 and NetBSD/amd64 in separate parti-
tions), the symlinks _in_ /emul/netbsd32/usr/lib (for example, for
libc.so) resulted in trying to load libraries from /lib, instead of
/emul/netbsd32/lib.  Beware of other symlinks in your directory tree.

> even the `ls` commad from base.tgz fails running.
> isn't there anything to mount, like linuxproc for compat_linux that I
> may be missing ?

Not sure if rescue is base.tgz.  If it is, the static version,
/emul/netbsd32/rescue/ls, should work.  If it does, you still haven't
got you emulated shared libraries right.  If it does not, you haven't
got emulation at all.
-- 
	Pappires

... Qui habet aurem audiat quid Spiritus dicat ecclesiis.