[ipxe-devel] Build problems on Fedora 16/17 with current GIT

Daniel P. Berrange berrange at redhat.com
Mon Mar 19 13:56:34 UTC 2012


I've been trying to package ipxe for Fedora, to replace our gpxe packages.

Originally I was building from this commit:

  commit ffb6d6be6dc8b0b7f144ed7f6d40b537b4480295
  Author: Michael Brown <mcb30 at ipxe.org>
  Date:   Tue Mar 13 04:41:49 2012 +0000

but the build eventually fails with the following error

  [ZBIN] bin/168c0023.rom.zbin
  [ZBIN] bin/168c0024.rom.zbin
  [ZBIN] bin/168c0027.rom.zbin
  [ZBIN] bin/168c0029.rom.zbin
Add 0+0x126 at 0x2 overflows 1-byte field (19456 bytes too big)
make: *** [bin/168c0023.rom.zbin] Error 1
make: *** Deleting file `bin/168c0023.rom.zbin'
make: *** Waiting for unfinished jobs....
Add 0+0x126 at 0x2 overflows 1-byte field (19456 bytes too big)
make: *** [bin/168c0024.rom.zbin] Error 1
make: *** Deleting file `bin/168c0024.rom.zbin'
Add 0+0x126 at 0x2 overflows 1-byte field (19456 bytes too big)
make: *** [bin/168c0027.rom.zbin] Error 1
make: *** Deleting file `bin/168c0027.rom.zbin'
Add 0+0x126 at 0x2 overflows 1-byte field (19456 bytes too big)
make: *** [bin/168c0029.rom.zbin] Error 1
make: *** Deleting file `bin/168c0029.rom.zbin'


The command I'm using to start the build is:


  ISOLINUX_BIN=/usr/share/syslinux/isolinux.bin
  cd src
  make %{?_smp_mflags} bin/undionly.kpxe bin/ipxe.{dsk,iso,usb,lkrn} allroms \
                   ISOLINUX_BIN=${ISOLINUX_BIN} NO_WERROR=1


(the %{?_smp_mflags} bit just expands to '-jNN' for number of host CPUs)


Updating to today's GIT, I now get an error much earlier in the build
process (so I suspect the original error is probably still there):


[snip]
gcc  -DVERSION_MAJOR=1 -DVERSION_MINOR=0 -DVERSION_PATCH=0 -DVERSION=\"1.0.0+\" -DARCH=i386 -DPLATFORM=pcbios -march=i386 -fomit-frame-pointer -fstrength-reduce -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mpreferred-stack-boundary=2 -mregparm=3 -mrtd -freg-struct-return -m32 -fshort-wchar -Ui386 -Ulinux -DNVALGRIND -Iinclude -I. -Iarch/x86/include -Iarch/i386/include -Iarch/i386/include/pcbios -Os -g -ffreestanding -Wall -W -Wformat-nonliteral   -fno-stack-protector  -fno-dwarf2-cfi-asm -Wno-address  -ffunction-sections -fdata-sections -include compiler.h   -DOBJECT=aes_wrap -c crypto/aes_wrap.c -o bin/aes_wrap.o 
gcc  -DVERSION_MAJOR=1 -DVERSION_MINOR=0 -DVERSION_PATCH=0 -DVERSION=\"1.0.0+\" -DARCH=i386 -DPLATFORM=pcbios -march=i386 -fomit-frame-pointer -fstrength-reduce -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mpreferred-stack-boundary=2 -mregparm=3 -mrtd -freg-struct-return -m32 -fshort-wchar -Ui386 -Ulinux -DNVALGRIND -Iinclude -I. -Iarch/x86/include -Iarch/i386/include -Iarch/i386/include/pcbios -Os -g -ffreestanding -Wall -W -Wformat-nonliteral   -fno-stack-protector  -fno-dwarf2-cfi-asm -Wno-address  -ffunction-sections -fdata-sections -include compiler.h   -DOBJECT=axtls_aes -c crypto/axtls_aes.c -o bin/axtls_aes.o 
gcc  -DVERSION_MAJOR=1 -DVERSION_MINOR=0 -DVERSION_PATCH=0 -DVERSION=\"1.0.0+\" -DARCH=i386 -DPLATFORM=pcbios -march=i386 -fomit-frame-pointer -fstrength-reduce -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mpreferred-stack-boundary=2 -mregparm=3 -mrtd -freg-struct-return -m32 -fshort-wchar -Ui386 -Ulinux -DNVALGRIND -Iinclude -I. -Iarch/x86/include -Iarch/i386/include -Iarch/i386/include/pcbios -Os -g -ffreestanding -Wall -W -Wformat-nonliteral   -fno-stack-protector  -fno-dwarf2-cfi-asm -Wno-address  -ffunction-sections -fdata-sections -include compiler.h   -DOBJECT=asn1 -c crypto/asn1.c -o bin/asn1.o 
gcc  -DVERSION_MAJOR=1 -DVERSION_MINOR=0 -DVERSION_PATCH=0 -DVERSION=\"1.0.0+\" -DARCH=i386 -DPLATFORM=pcbios -march=i386 -fomit-frame-pointer -fstrength-reduce -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mpreferred-stack-boundary=2 -mregparm=3 -mrtd -freg-struct-return -m32 -fshort-wchar -Ui386 -Ulinux -DNVALGRIND -Iinclude -I. -Iarch/x86/include -Iarch/i386/include -Iarch/i386/include/pcbios -Os -g -ffreestanding -Wall -W -Wformat-nonliteral   -fno-stack-protector  -fno-dwarf2-cfi-asm -Wno-address  -ffunction-sections -fdata-sections -include compiler.h   -DOBJECT=hmac -c crypto/hmac.c -o bin/hmac.o 
gcc  -DVERSION_MAJOR=1 -DVERSION_MINOR=0 -DVERSION_PATCH=0 -DVERSION=\"1.0.0+\" -DARCH=i386 -DPLATFORM=pcbios -march=i386 -fomit-frame-pointer -fstrength-reduce -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mpreferred-stack-boundary=2 -mregparm=3 -mrtd -freg-struct-return -m32 -fshort-wchar -Ui386 -Ulinux -DNVALGRIND -Iinclude -I. -Iarch/x86/include -Iarch/i386/include -Iarch/i386/include/pcbios -Os -g -ffreestanding -Wall -W -Wformat-nonliteral   -fno-stack-protector  -fno-dwarf2-cfi-asm -Wno-address  -ffunction-sections -fdata-sections -include compiler.h   -DOBJECT=bigint -c crypto/bigint.c -o bin/bigint.o 
arch/x86/include/bits/bigint.h: Assembler messages:
arch/x86/include/bits/bigint.h:185: Error: bad register name `%bpl'
make: *** [bin/bigint.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.bkKAV4 (%build)


Looking at GIT history for the  bigint.h file, it appears this new error
entered the tree with:

  commit 071184a6e488f68b2b3149b801ab56e2b02cec3e
  Author: Michael Brown <mcb30 at ipxe.org>
  Date:   Tue Mar 13 16:35:21 2012 +0000

    [crypto] Add big-integer library for RSA calculations

My toolchain is

   GCC  4.7.0-0.19.fc17
   BinUtils 2.22.52.0.1-10.fc18

and the build host architecture is x86_64

Any suggestions on how to address this would be appreciated, because we
really want to switch from gpxe to ipxe

FYI, in case it helps, I have full build logs available, for the first
overflow error:

   http://koji.fedoraproject.org/koji/getfile?taskID=3909597&name=build.log

and for the bpl error:

   http://koji.fedoraproject.org/koji/getfile?taskID=3909581&name=build.log

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|



More information about the ipxe-devel mailing list