On Mon, Dec 22, 2014 at 12:18:56AM +0100, Geert Stappers wrote:> On Sun, Dec 21, 2014 at 12:21:32PM -0800, Patrick Masotta wrote: > > sudo apt-get install build-essential > > sudo apt-get build-dep gcc-multilib > > sudo apt-get install gcc-multilib nasm uuid-dev > > > > $ make spotless > > $ make > > > > but it consistently fails at > > > > make[3]: Entering directory `/syslinux-6.03/efi32/efi' > > Building gnu-efi for ia32 > > /syslinux-6.03/efi/check-gnu-efi.sh ia32 /syslinux-6.03/efi32 > > Failed to build gnu-efi. Execute the following command for full details: > > > > build-gnu-efi.sh ia32 /syslinux-6.03/efi32 > > > > make[3]: *** [/syslinux-6.03/efi32/lib/libefi.a] Error 1 > > make[3]: Leaving directory `/syslinux-6.03/efi32/efi' > > make[2]: *** [efi] Error 2 > > make[2]: Leaving directory `/syslinux-6.03/efi32' > > make[1]: *** [efi32] Error 2 > > make[1]: Leaving directory `/syslinux-6.03' > > make: *** [all] Error 2 > > > > Do I have to install anything else? does this problem sound familiar? > > FWIW git source plus patch from Philippe Coval from 2014-12-17 > did just build fine twice an "apt-get system". >The reason for that succesfull build seems to be building from a git clone. At least has the git submodule repository git://git.code.sf.net/p/gnu-efi/code to be present. That in other words: When not build from git I can reproduce the reported build error. Place where it breaks is in efi/build-gnu-efi.sh at: ( cd ../.. git submodule update --init ) There are no checks on being in a "git checkout". This patch makes the problem more visible: --- syslinux-git/efi/check-gnu-efi.sh 2014-12-21 23:59:17.516158849 +0100 +++ syslinux-plain/efi/check-gnu-efi.sh 2014-12-22 09:14:53.537346017 +0100 @@ -25,7 +25,7 @@ # Syslinux disables built-in implicit rules. export MAKEFLAGS - ../../efi/build-gnu-efi.sh $ARCH "$objdir" > /dev/null 2>&1 + ../../efi/build-gnu-efi.sh $ARCH "$objdir" > /dev/null if [ $? -ne 0 ]; then printf "Failed to build gnu-efi. " printf "Execute the following command for full details: \n\n" Groeten Geert Stappers -- Leven en laten leven ------------- volgend deel ------------ Een niet-tekst bijlage is gescrubt... Naam: signature.asc Type: application/pgp-signature Grootte: 836 bytes Omschrijving: Digital signature URL : <http://www.zytor.com/pipermail/syslinux/attachments/20141222/85160568/attachment.sig>
On 12/22/2014 04:32 PM, Geert Stappers wrote:> On Mon, Dec 22, 2014 at 12:18:56AM +0100, Geert Stappers wrote: >> On Sun, Dec 21, 2014 at 12:21:32PM -0800, Patrick Masotta wrote: >>> sudo apt-get install build-essential >>> sudo apt-get build-dep gcc-multilib >>> sudo apt-get install gcc-multilib nasm uuid-dev >>> >>> $ make spotless >>> $ make >>> >>> but it consistently fails at >>> >>> make[3]: Entering directory `/syslinux-6.03/efi32/efi' >>> Building gnu-efi for ia32 >>> /syslinux-6.03/efi/check-gnu-efi.sh ia32 /syslinux-6.03/efi32 >>> Failed to build gnu-efi. Execute the following command for full details: >>> >>> build-gnu-efi.sh ia32 /syslinux-6.03/efi32 >>> >>> make[3]: *** [/syslinux-6.03/efi32/lib/libefi.a] Error 1 >>> make[3]: Leaving directory `/syslinux-6.03/efi32/efi' >>> make[2]: *** [efi] Error 2 >>> make[2]: Leaving directory `/syslinux-6.03/efi32' >>> make[1]: *** [efi32] Error 2 >>> make[1]: Leaving directory `/syslinux-6.03' >>> make: *** [all] Error 2 >>> >>> Do I have to install anything else? does this problem sound familiar? >> >> FWIW git source plus patch from Philippe Coval from 2014-12-17 >> did just build fine twice an "apt-get system". >> > > The reason for that succesfull build seems to be building from > a git clone. At least has the git submodule repository > git://git.code.sf.net/p/gnu-efi/code > to be present. > > That in other words: > When not build from git I can reproduce the reported build error. > > > > Place where it breaks is in efi/build-gnu-efi.sh at: > > ( > cd ../.. > git submodule update --init > ) > > There are no checks on being in a "git checkout". > > This patch makes the problem more visible:Yes, it would help, I had submitted a patch, but is pending: http://web.archiveorange.com/archive/v/mwjwm5suBUdvxg2B4PSz // Robert> --- syslinux-git/efi/check-gnu-efi.sh 2014-12-21 23:59:17.516158849 +0100 > +++ syslinux-plain/efi/check-gnu-efi.sh 2014-12-22 09:14:53.537346017 +0100 > @@ -25,7 +25,7 @@ > # Syslinux disables built-in implicit rules. > export MAKEFLAGS> > - ../../efi/build-gnu-efi.sh $ARCH "$objdir" > /dev/null 2>&1 > + ../../efi/build-gnu-efi.sh $ARCH "$objdir" > /dev/null > if [ $? -ne 0 ]; then > printf "Failed to build gnu-efi. " > printf "Execute the following command for full details: \n\n" > > > > > > Groeten > Geert Stappers > -- > Leven en laten leven > > > > _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux >
ok I'm not building from git; I just downloaded/extracted "syslinux-6.03.tar.gz" into a directory and build it from there. Now I've erased the "> /dev/null 2>&1 " from check-gnu-efi.sh and I'm getting. fatal: Not a git repository (or any of the parent directories): .git Failed to build gnu-efi. Execute the following command for full details: I do not want to build from git; I want to have a set of source files that can make my Syslinux builds consistent all the time. I understand Syslinux is picky about the version of gnu-efi used then; why not to distribute the gnu-efi source that is used on 6.03? What should I do in order to get the missing efi code base not depending on git?? Thanks a lot.