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

Yuri yuri at rawbw.com
Fri Aug 13 00:50:50 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.
         libexecinfo.so.1 => /usr/local/lib32/libexecinfo.so.1 (0x289ca000)
         libffi.so.5 => /usr/local/lib32/libffi.so.5 (0x289d5000)
         libstdc++.so.6 => /usr/local/lib32/libstdc++.so.6 (0x289da000)
         libm.so.5 => /usr/lib32/libm.so.5 (0x28ac4000)
         libgcc_s.so.1 => /usr/local/gcc/4.5.0-32bit/lib/libgcc_s.so.1 
(0x28add000)
         libthr.so.3 => /usr/lib32/libthr.so.3 (0x28ae9000)
         libc.so.7 => /usr/lib32/libc.so.7 (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/libc.so.7 and /usr/lib32/libthr.so.3 on amd64? Or what may 
cause such incompatibility?

Yuri


More information about the freebsd-questions mailing list