Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 2006 15:21:37 -0800
From:      Kael Fischer <kael.fischer@gmail.com>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        freebsd-amd64@freebsd.org
Subject:   Re: Docs for running 32-bit apps?
Message-ID:  <cd02cc220601161521v4f53102eyd0ae8f6a8ac8416@mail.gmail.com>
In-Reply-To: <20060116204022.GA15908@troutmask.apl.washington.edu>
References:  <cd02cc220601161027o22df47d6m1e9642e40e13f957@mail.gmail.com> <20060116183735.GA15021@troutmask.apl.washington.edu> <cd02cc220601161047p3ffd016cy1dc70e2f33538dea@mail.gmail.com> <20060116191915.GB15316@troutmask.apl.washington.edu> <cd02cc220601161145o5dca76f5s8e4095f882eb0e05@mail.gmail.com> <20060116204022.GA15908@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
results:

All this stuff has been said before on this list, but I'll try to pull
it together here in a coherent summary.

To recap, this is 6.0-RELEASE amd64 running on Intel SBX82 Systems.

Rebuilding/installing world (or build32/install32) is sufficient to
populate /usr/lib32.

Note KERNCONF=3DGENERIC includes:
options         COMPAT_43               # Needed by COMPAT_LINUX32
options         COMPAT_IA32             # Compatible with i386 binaries
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_LINUX32          # Compatible with i386 linux binari=
es


Note also that "WITH_LIB32=3Dyes" in make.conf is not required (anymore,
see other threads on this list).

After install32, I had to run 'ldconfig -32 /usr/lib32'.

I still have plenty of apps that don't find the versions of libraries
they want.  I'm mostly handling this with /etc/libmap32.conf (see
below)

=3D=3D /etc/libmap32.conf =3D=3D
libm.so.2=09libm.so
libc_r.so.5=09libc_r.so
libc.so.5=09libc.so
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

I believe this is roughly equivalent to the method noted (but not
recommended) by Steve of adding symlinks.  It worked fine for the test
program I don't have the source for (yeah!).

The c++ test program, which is my own code, did not work with either a
libstdc++.so.3 mapping in /etc/libmap32.conf or by copying the
libstdc++.so.3 from the 4.9-RELEASE machine it was compiled on.  But
it compiles fine - so no worries there.

Those are my results, your mileage will vary.

-Kael.

p.s. Steve, thanks for the pointers.

On 1/16/06, Steve Kargl <sgk@troutmask.apl.washington.edu> wrote:
> On Mon, Jan 16, 2006 at 11:45:49AM -0800, Kael Fischer wrote:
> > > If you can't recompile raftercc and blasta for amd64, then try
> > > to find the missing 32bit libs and drop them im /usr/lib32.
> > > You could create a symlink to get libm.so.2 (although I don't
> > > recommend this approach).  A symlink probably won't work for
> > > libstdc++.co.3 because the C++ ABI changed.
> >
> > So in the normal buildworld on amd64 these get built, right?
>
> You need to add "WITH_LIB32=3Dyes" to /etc/make.conf.  This will
> then build the 32 bit libraries and install them.
>
> >
> > so it seems like lib32 stuff should be standard.
> >
>
> You may need to add COMPAT_FREEBSD4, COMPAT_FREEBSD5
> (or whatever the names) to the kernel config file.
>
> --
> Steve
>


--
Kael Fischer, Ph.D
DeRisi Lab - Univ. Of California San Francisco



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cd02cc220601161521v4f53102eyd0ae8f6a8ac8416>