sysutils/cdrtools in i386 chroot on amd64
marius at alchemy.franken.de
Fri Feb 11 17:38:06 UTC 2011
On Fri, Feb 11, 2011 at 02:34:02PM +0100, Jan Henrik Sylvester wrote:
> I am trying to build all ports that I have installed in an i386 chroot
> environment on an amd64 machine. All work except for sysutils/cdrtools.
> I have installed an i386 system to some directory, mounted a devfs to
> the devfs subdirectory, set "MACHINE=i386 ; UNAME_p=i386 ; UNAME_m=i386"
> and exported them, chrooted to the directory, and called
> "/etc/rc.d/ldconfig start".
> sysutils/cdrtools fails with many errors as it still builds for amd64.
> Is this expected? Should I do more to get an i386 environment? (I have
> tried to set ARCH and MACHINE_ARCH with no change.)
Yes, that approach isn't expected to generally work for cross-building
ports for i386 on amd64. What is expected to work is compiling them in
an i386 environment on amd64 running a kernel with r210369/rev. 1.103
of sys/kern/kern_mib.c (r210855/rev. 126.96.36.199 for 8-STABLE) in place
so the i386 binaries act as if they are running on native i386 without
hacks like MACHINE, UNAME_* etc being set. The cdrtools port is known
to be buildable for i386 in an i386 jail on amd64 that way.
More information about the freebsd-ports