Docs for running 32-bit apps?
Kael Fischer
kael.fischer at gmail.com
Mon Jan 16 15:21:39 PST 2006
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=GENERIC 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 binaries
Note also that "WITH_LIB32=yes" 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)
== /etc/libmap32.conf ==
libm.so.2 libm.so
libc_r.so.5 libc_r.so
libc.so.5 libc.so
==================
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 at 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=yes" 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
More information about the freebsd-amd64
mailing list