Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 May 2010 21:11:19 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        lhmwzy <lhmwzy@gmail.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: How to clear the 32-bit ldconfig error in 64-bit FreeBSD?
Message-ID:  <20100511041119.GA78693@icarus.home.lan>
In-Reply-To: <AANLkTimQY2AOg-urje9dYGHOBb4Sjlr8hmofjaNYyOSM@mail.gmail.com>
References:  <AANLkTimQY2AOg-urje9dYGHOBb4Sjlr8hmofjaNYyOSM@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, May 11, 2010 at 11:11:34AM +0800, lhmwzy wrote:
> like this:
> 
> ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
> /usr/local/lib/compat
> 32-bit compatibility ldconfig path: /usr/local/lib32/compat
> .: Can't open %%RC_SUBR%%: No such file or directory

This looks like a problem with a port or part of your system where some
expandos (%%RC_SUBR%%) did not get expanded to /etc/rc.subr.

> uname -a:
> FreeBSD lanshuweb2 8.0-RELEASE FreeBSD 8.0-RELEASE #2: Tue May 11
> 10:04:28 UTC 2010     root@lanshuweb2:/usr/obj/usr/src/sys/mlh  amd6

Regarding 32-bit support on amd64, this is what you need:

1) Make sure /etc/src.conf does not contain WITHOUT_LIB32.  This will
inhibit FreeBSD's buildworld from building 32-bit binaries.  By default
FreeBSD *does* build 32-bit binaries on amd64.  The only reason I'm
pointing this out is that some administrators set WITHOUT_LIB32 in
src.conf but then later need i386 compatibility and forget all about the
option they set.

2) Your kernel configuration file needs "options COMPAT_IA32" in it.
You have it commented out.

Be aware that the name of this option has changed in RELENG_8 (not
8.0-RELEASE) from COMPAT_IA32 to COMPAT_FREEBSD32.  So if you upgrade in
the future, you may need to rename this option.

You should view /sys/amd64/conf/GENERIC or /sys/amd64/conf/NOTES to see
what other semantics may have changed since you made your kernel
configuration file.  I also advocate watching CVS commits for parts of
the tree around there and reading what changes happen, especially if you
follow -STABLE.  Ex:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/amd64/conf/GENERIC
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/amd64/conf/NOTES

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100511041119.GA78693>