[ipxe-devel] Build fail on FreeBSD

Jedrzej Kalinowski kalinoj1 at iem.pw.edu.pl
Tue Nov 2 20:06:24 UTC 2010


 On Fri, 29 Oct 2010 01:50:35 +0100, Michael Brown 
 <mbrown at fensystems.co.uk> wrote:
> 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.
>
> Michael

 Thanks, this helped, it builds now.

 Also needed to add '/usr/local/share/syslinux/isolinux.bin' to 
 ISOLINUX_BIN_LIST in arch/i386/Makefile.
 As this is the directory isolinux resides in FreeBSD.

 Jedrzej

-- 
 JK



More information about the ipxe-devel mailing list