Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Mar 2008 22:34:03 +0100
From:      Dominic Fandrey <kamikaze@bsdforen.de>
To:        Kris Kennaway <kris@FreeBSD.org>
Cc:        Mark Moellering <mark@msen.com>, freebsd-questions@freebsd.org
Subject:   Re: problems with i386 jail on amd64 install 7.0 Release
Message-ID:  <47ED644B.30601@bsdforen.de>
In-Reply-To: <47ECC735.20609@FreeBSD.org>
References:  <200803272241.11944.mark@msen.com> <47ECC735.20609@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kris Kennaway wrote:
> Mark Moellering wrote:
>> I have been trying to install an i386 jail on an amd64 install.  I=20
>> added Target=3Di386 to the command line in the make buildworld and=20
>> installworld commands.  I keep getting the following (or similar) erro=
r
>=20
> 'Target' does nothing, there is no such variable.  If you meant=20
> 'TARGET', that is a real variable but not the one you want.  You need t=
o=20
> add 'TARGET_ARCH=3Di386' to your build/installworld to successfully=20
> cross-compile.
>=20
> Kris

You need to mount /libexec into your jail and /usr/lib32 into the /usr/li=
b.=20
This will get the base system in your jail working. You also need to syml=
ink=20
/usr/lib32 =E2=86=92 /usr/lib, because it appears that is hard-coded loca=
tion in=20
ld-elf32.so.1.

To compile ports in the jail you have to define ARCH=3Di386 in the make.c=
onf of=20
the jail, because it defaults to the kernel arch amd64. This will get a l=
ot of=20
ports to compile into proper i386 binaries and libraries. But there are p=
orts=20
I have not managed to build, such as wine and perl. The binaries from the=
 wine=20
package just dump core inside my jail. I suppose wine simply interacts to=
=20
closely with the kernel.

Why perl doesn't build, I don't know. It's my impression that some ports =
just=20
don't manage to see the libraries they just built. I have no idea, why, t=
hough.

For some ports you have to add --host=3Di386 and --build=3Di386 to the=20
CONFIGURE_ENV, because configure thinks you're trying to crosscompile and=
=20
looks for the cross-compiling tools.




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