Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Feb 2011 18:27:00 +0100
From:      Marius Strobl <marius@alchemy.franken.de>
To:        Jan Henrik Sylvester <me@janh.de>
Cc:        ports-list freebsd <freebsd-ports@FreeBSD.org>
Subject:   Re: sysutils/cdrtools in i386 chroot on amd64
Message-ID:  <20110211172700.GH15808@alchemy.franken.de>
In-Reply-To: <4D553ACA.5060503@janh.de>
References:  <4D553ACA.5060503@janh.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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. 1.98.2.5 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.

Marius




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