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>