Cross compiling FreeBSD

Andrew Hotlab andrew.hotlab at
Wed Jan 14 17:14:19 PST 2009

> [Please wrap your lines before 80 columns]

I'm so sorry for that: I'm using the Windows Live webmail, and it seems
impossible to have a decent message format! :(

> On 2009-Jan-14 15:06:06 +0000, Andrew Hotlab wrote:
>>At this time, I've tried to build RELENG_7_1 for the i386
>>architecture using an amd64 machine (running RELENG_7_0 for amd64)
>>then, exporting /usr/src and /usr/obj via NFS in read-only mode to
>>target machines,
> This won't work because install{world,kernel} uses programs (under
> /usr/obj) that were built to run on the build system (amd64 in
> your case) and so won't run on the target (i386) system.

So I actually misunderstood the Handbook: only now I realize that it
gives the suggestion to export /usr/obj and /usr/src from the build machine,
but only if the target architecture is the same as the builder! :S

> The supported approach is to NFS mount the target machines onto the
> build machine and run "make DESTDIR=/mount/point install{world,kernel}"
> on the build machine. Note that this will report errors since NFS
> cannot handle UFS flags - you will need to manually remove/add schg flags.

Ok, so I think that in a production environment I should deploy one builder machine
for each target architecture I have to support on my network... I'm right?

One last question: I would expect the same issues if I wish to to support many
FreeBSD releases running of one single type of architecture? (i.e.: both builder
and targets are amd64 machines, but I run RELENG_7 on the builder and
RELENG_6_4 and RELENG_7_1 on the targets)

Thanks for your explanation.

Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!

More information about the freebsd-arch mailing list