Docs for running 32-bit apps?

Kael Fischer kael.fischer at
Mon Jan 16 15:21:39 PST 2006


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.

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

== /etc/libmap32.conf ==

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 mapping in /etc/libmap32.conf or by copying the 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.


p.s. Steve, thanks for the pointers.

On 1/16/06, Steve Kargl <sgk at> 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 (although I don't
> > > recommend this approach).  A symlink probably won't work for
> > > 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