Hi all,

I'm going to update my machines and run into a serious problem (for me ^^): 
Some ports fail to cross build and I fail to setup a sane environment.

At first, I created a chroot: /usr/room/$target. Into this chroot, I installed 
a host world using make installworld DESTDIR=/usr/room/$target/.
After that, I created /usr/room/$target/usr/src and /usr/room/$target/usr/ports 
and mounted /usr/src and /usr/ports to there, respectively. Sure I'd mounted a 
devfs to /usr/room/$target/dev/.

Then I's chrooted to /usr/room/$target/ and change the make.conf as needed for 
target machine and did make buildworld/buildkernel in /usr/src in the chroot.
That worked really fine.

But on the target machine not only a FreeBSD base distribution runs, there is a 
samba, xinetd, ftpproxy and squid also doing some work.
So I needed to cross-build those ports, too. I couldn't find a standardized way 
to do this, so I first created 2 start scripts:

waldorf# cat ~/bin/portcross 
#!/bin/sh
env ARCH=i386 TARGET_CPUTPE= CPUTYPE=pentiumpro 
PATH=/usr/obj/i386/usr/src/tmp/usr/bin/:$PATH "$@"

waldorf# cat ~/bin/porthost 
#!/bin/sh
env CPUTYPE=nocona "$@"

portcross I use to make/portupgrade a crossbuild (e.g. squid), porthost to 
build tools like autoconf. Now I run into problems (as the more expertized may 
imagine):
autoconf needs gettext, samba needs gettext. But the amd64-native auto-tools 
binaries can't load the ia32 gettext library - and I don't know how to hold 
them both without running into conflicts.
Furthermore perl seems to be resistant against crossbuild by specifying 
ARCH=i386 make build and above listed portcross. Any idea how to crossbuild 
perl?

Thanks in advance,
Jens
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to