Matthew Jacob writes: | gcc 4.X will barf all over RELENG_6 code. Better start thinking about | a jailed build. And if you do script something like: #!/bin/sh UNAME_s="FreeBSD" UNAME_m="i386" UNAME_p="i386" ROOT=$HOME/stable_$UNAME_p REVISION=`cd ${ROOT}/sys/conf && grep REVISION= newvers.sh | cut -f2 -d'"'` BRANCH=`cd ${ROOT}/sys/conf && grep BRANCH= newvers.sh | head -n1 | cut -f2 -d'"'` UNAME_r=$REVISION-$BRANCH UNAME_v="$UNAME_s $UNAME_r #0: Thu May 4 07:54:55 PDT 2006 root_at_a21p:/data/home/ambrisko/current/usr/src/sys/$UNAME_p/compile/THINK" OSVERSION=`awk '/\#define.*__FreeBSD_version/ { print $3 }' < ${ROOT}/sys/sys/param.h` export UNAME_s UNAME_r UNAME_v UNAME_m UNAME_p OSVERSION ROOT if [ -r $ROOT/dev/zero ] then echo dev already mounted else sudo mount -t devfs dev $ROOT/dev fi sudo ln -sf ld-elf.so.1 $ROOT/libexec/ld-elf32.so.1 sudo sh -c '( echo "libpthread.so.2 libthr.so.2" ;\ echo "libpthread.so libthr.so") > ${ROOT}/etc/libmap.conf' sudo cp ${ROOT}/etc/libmap.conf ${ROOT}/etc/libmap32.conf sudo chroot $ROOT You can then build i386 on amd64 or i386 on i386. Ports will build and pkg_add works :-) Inside uname -a will report 6.X for i386. I think it would be nice to put some of this into the src/Makefile so you can do "make chroot" and it would set this up and throw you into a chroot/jail/vimage. At work we extended it to 4.X. This way we can build everything on a FreeBSD amd64 machine for 6.X i386, 6.X amd64 or 4.X i386 code. The 4.X is important to link with 3rd party code. It simplifies our build machines and I can build our stuff on a amd64 -current box. Doug A.Received on Fri Jul 13 2007 - 17:35:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC