[ipxe-devel] Build fail on FreeBSD

Michael Brown mbrown at fensystems.co.uk
Fri Oct 29 01:50:35 BST 2010

On Thursday 28 Oct 2010 08:32:36 Jedrzej Kalinowski wrote:
> > As Shao says, this is due to iPXE attempting to build the
> > Linux-specific code
> > on a platform that doesn't have Linux-specific headers.  Could you
> > try the
> > attached patch and see if this fixes your problem?
>  It helped a bit, then gmake stoppped with the same issue on
>  interface/linux/linux_console.c, so I also removed 'interface/linux'
>  from the src/Makefile:173. The next stop is:
>  ...
>    [BUILD] bin/libprefix.o
>    [BUILD] bin/linuxprefix.o
>  arch/i386/prefix/linuxprefix.S:1:26: error: linux/unistd.h: No such
>  file or directory
>    [BUILD] bin/lkrnprefix.o
>    [BUILD] bin/mbr.o
>    [BUILD] bin/mromprefix.o
>  arch/i386/prefix/romprefix.S: Assembler messages:
>  arch/i386/prefix/romprefix.S:492: Error: `%es:build_id(%esi)' is not a
>  valid 16 bit base/index expression

Commit http://git.ipxe.org/ipxe.git/commitdiff/202c9c0 should hopefully fix the 
romprefix.S problem.  (Every version of binutils that I have ever used seems to 
automatically add addr32 prefixes as necessary, but some versions don't - I 
wish I knew why.)

For the linuxprefix.S issue, try just temporarily deleting that file, to see if 
the remainder of the tree will build.  We need to find a proper fix for building 
on platforms without the Linux-specific headers in place.


More information about the ipxe-devel mailing list