On 02/11/2011 18:27, Marius Strobl wrote:
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.
Thanks for the explanation!
I did not know about that change and was still using "MACHINE=i386 ;
UNAME_p=i386 ; UNAME_m=i386" on my 8.2-RC3 laptop, on which I just
verified it not to be necessary anymore (and sysutils/cdrtools to build).
Since I got about 1200 ports building the old way on 8.1-RELEASE, I
thought the unconditional hack in sysutils/cdrtools hindering me could
be wrong, but with the situation really fixed in 8.2, it will not affect
me anymore as I am going to upgrade my 8.1 package building machine
pretty soon.
Cheers,
Jan Henrik
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"