[syslinux] EFI build problems
Celelibi
celelibi at gmail.com
Wed Dec 18 17:39:23 PST 2013
2013/12/17, Ferenc Wagner <wferi at niif.hu>:
> Hi,
>
> The internal Gnu-EFI build gives me grief:
>
> * efi/check-gnu-efi.sh: uses realpath, which is not available on my
> Debian wheezy system. I now use readlink -f, but wonder if it's
> needed at all.
>
> * efi/build-gnu-efi.sh: uses realpath, like above, and also pushd/popd,
> which is not built into a standard Bourne shell invoked by #!/bin/sh.
> Again I wonder what's the point of it, as the script exits right after
> the popd, and it is not sourced but executed, so the current working
> directory is discarded anyway.
>
> * make spotless still fails after working around the above:
> [...]
> make -r -C efi SRC="/home/wferi/syslinux/syslinux/efi"
> OBJ="/home/wferi/syslinux/syslinux/efi32/efi" \
> -f /home/wferi/syslinux/syslinux/efi/Makefile spotless
> In file included from /usr/include/elf.h:24:0,
> from reloc_ia32.c:39:
> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file
> or directory
> compilation terminated.
> make[4]: *** [reloc_ia32.o] Error 1
> make[3]: *** [gnuefi] Error 2
> make[3]: Entering directory `/home/wferi/syslinux/syslinux/efi32/efi'
> /home/wferi/syslinux/syslinux/mk/efi.mk:27: *** Failed to build gnu-efi
> for ia32. Stop.
> make[3]: Leaving directory `/home/wferi/syslinux/syslinux/efi32/efi'
> make[2]: *** [efi] Error 2
> [...]
>
> * maybe unrelated, but make bios also fails in this state:
> [...]
> objdump -h isolinux.elf > isolinux.sec
> perl /home/wferi/syslinux/syslinux/core/lstadjust.pl isolinux.lsr
> isolinux.sec isolinux.lst
> objcopy -O binary -S isolinux.elf isolinux.raw
> /home/wferi/syslinux/syslinux/bios/core/../lzo/prepcore isolinux.raw
> isolinux.bin
> nasm -f elf -Ox -g -F dwarf -DDATE_STR="'6.03-pre1-29-gecc43ff*'" \
> -DHEXDATE="0x52b052e6" \
> -Di386 \
> -I/home/wferi/syslinux/syslinux/core/ \
> -l isolinux-debug.lsr -o isolinux-debug.o -MP -MD ./.isolinux-debug.o.d
> /home/wferi/syslinux/syslinux/core/isolinux-debug.asm
> isolinux.asm:1102: error: TIMES value -4 is negative
> make[3]: *** [isolinux-debug.o] Error 1
> rm isolinux.raw isolinux.o ldlinux.o ldlinux.raw
> make[3]: Leaving directory `/home/wferi/syslinux/syslinux/bios/core'
> make[2]: *** [core] Error 2
> [...]
>
> Do these ring any bells? At commit 67aaaeeb I could build everything
> with 3.0u installed independently.
> --
> Thanks,
> Feri.
Hello,
I confirm the command realpath wasn't installed by default on my
debian either. And it seems it can be easily replaced by readlink -f.
And actually I find its use doubtful.
However, as you may have seen, these scripts are quite new and may
have bugs. Using pushd/popd in a /bin/sh script is a bug. IIRC, by
default, on debian, /bin/sh points to dash, and not bash.
About the make spotless, I don't know much about the Makefiles, thus I
can't help, sorry.
I hope Matt will see this mail. :)
Celelibi
More information about the Syslinux
mailing list