On Jun 14, 2014, at 3:57 PM, Oliver Pinter <oliver.p...@gmail.com> wrote:

> On 6/13/14, John Baldwin <j...@freebsd.org> wrote:
>> On Friday, June 13, 2014 6:21:28 am Oliver Pinter wrote:
>>> Hi All!
>>> When I try to build i386 kernel on amd64 host running compile error
>>> due wrong cpufunc.h picked up by build system.
>>> I used the attached script to build the kernel, and I attached a build
>>> log.
>>> Any suggestion how can I fix this?
>> To build an i386 kernel on an amd64 host do this:
>> cd /usr/src (or some other tree)
>> make TARGET=i386 kernel-toolchain
>> make TARGET=i386 buildkernel
>> make TARGET=i386 installkernel DESTDIR=/some/place
>> And your i386 kernel will end up in /some/place/boot/kernel/kernel.  (You
>> can
>> set things like KERNCONF to pick an alternate kernel config just as with
>> normal 'make buildkernel'.)
>> (Your attachment was size zero for me btw)
>> --
>> John Baldwin
> I used this script to build the kernel:
> http://svnweb.freebsd.org/socsvn/soc2014/op/tools/build_kernel_32bit.csh?view=log
> And the error log are there:
> https://gist.github.com/opntr/cf8aa0e404c0c5ed6f90 .
> I get this error, when I first build kernel for amd64 system, and
> after that i386 kernel, and only the kernel.
> Now seems like I can build the whole system with buildworld
> buildkernel on vanilla master, I removed the objdir and do a clean
> buildworld. Now I test the modified kernel build, after the
> buildworld.
> It is broken too. When I do only make kernel-toolchain buildkernel,
> than this are broken for vanilla freebsd source and for my version to.
> summary:
> OK: make buildworld buildkernel
> BROKEN: make kernel-toolchain buildkernel

On the same line? O?r is that just a summary?

> Seems like someone in build environment bootstrapping are broken.

I’ve not been able to reproduce this.

rm -rf $OBJDIR
make TARGET=i386 kernel-toolchain
make TARGET=i386 buildkernel

works just fine on current with a clean tree and an empty/missing make.conf and 

As for your script, don’t define MACHINE and MACHINE_ARCH. That’s almost always 
wrong since that overrides things on the command line, which is what make 
buildkernel winds up translating to. You never need to define those yourself in 
any supported environment, and likely most unsupported ones.

Also, I’d strongly recommend doing it as two invocations to make, not one. 
kernel-toolchain likely doesn’t have all the right guards in place for it that 
buildworld likely does. Or you can dive in and figure that out. You can’t 
really do anything *kernel* related until kernel-toolchain finishes…


freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to