Is there a way to rebuild 32-bit libraries under amd64?

b. f. bf1783 at
Fri Aug 13 04:30:12 UTC 2010

>I have 8.0-STABLE amd64 machine, and I need to run some 32-bit FreeBSD
>process which runs fine on 8.0-STABLE i386.
>So I copied all shared libs needed by it from i386 into there respective
>locations on amd64, but under lib32/ folder.
> => /usr/local/lib32/ (0x289ca000)
> => /usr/local/lib32/ (0x289d5000)
> => /usr/local/lib32/ (0x289da000)
> => /usr/lib32/ (0x28ac4000)
> => /usr/local/gcc/4.5.0-32bit/lib/
> => /usr/lib32/ (0x28ae9000)
> => /usr/lib32/ (0x28afe000)
>But the process crashes. After debugging I found that regexec returns
>result different from what it returns on i386 with the same input.
>So my question is: is there a way to rebuild for example
>/usr/lib32/ and /usr/lib32/ on amd64? Or what may
>cause such incompatibility?

Did you install the 32-bit compatibility libraries and utilities on
amd64, by selecting the lib32 option with sysinstall(8), or by running
../lib32/ from the FreeBSD media, or by rebuilding and
reinstalling world without a WITHOUT_LIB32 defined in src.conf(5) or
make.conf(5)?  Then did you make sure that rtld(1) has the proper
hints to find any needed 32-bit libraries that are not in the lib32
part of the base system, by defining the right values for
ldconfig32_paths and/or ldconfig_local32_dirs in rc.conf(5)?


More information about the freebsd-questions mailing list