On 06.03.2016 18:23, poma wrote:> On 06.03.2016 16:47, poma wrote: >> ... >>> nasm -f elf -Ox -g -F dwarf -DDATE_STR="''" \ >>> -DHEXDATE="0x56dc3c62" \ >>> -Di386 \ >>> -I/tmp/syslinux-6.04-pre1/core/ \ >>> -l ldlinux.lsr -o ldlinux.o -MP -MD ./.ldlinux.o.d /tmp/syslinux-6.04-pre1/core/ldlinux.asm >>> nasm -f elf -Ox -g -F dwarf -DDATE_STR="''" \ >>> -DHEXDATE="0x56dc3c62" \ >>> -Di386 \ >>> -I/tmp/syslinux-6.04-pre1/core/ \ >>> -l isolinux.lsr -o isolinux.o -MP -MD ./.isolinux.o.d /tmp/syslinux-6.04-pre1/core/isolinux.asm >>> diskstart.inc:438: error: symbol references not supported in preprocess-only mode >>> diskstart.inc:438: error: non-constant value given to `%if' >>> diskstart.inc:439: error: symbol references not supported in preprocess-only mode >>> diskstart.inc:439: error: non-constant value given to `%assign' >> ... >>> /tmp/syslinux-6.04-pre1/core/isolinux.asm:23: fatal: unable to open include file `head.inc' >>> /tmp/syslinux-6.04-pre1/core/Makefile:145: recipe for target 'isolinux.o' failed >>> make[3]: *** [isolinux.o] Error 1 >>> make[3]: *** Waiting for unfinished jobs.... >>> /tmp/syslinux-6.04-pre1/core/ldlinux.asm:26: fatal: unable to open include file `head.inc' >>> /tmp/syslinux-6.04-pre1/core/Makefile:145: recipe for target 'ldlinux.o' failed >>> make[3]: *** [ldlinux.o] Error 1 >>> make[3]: Leaving directory '/tmp/syslinux-6.04-pre1/bios/core' >>> /tmp/syslinux-6.04-pre1/Makefile:287: recipe for target 'core' failed >>> make[2]: *** [core] Error 2 >>> make[2]: Leaving directory '/tmp/syslinux-6.04-pre1/bios' >>> /tmp/syslinux-6.04-pre1/Makefile:256: recipe for target 'bios' failed >>> make[1]: *** [bios] Error 2 >>> make[1]: Leaving directory '/tmp/syslinux-6.04-pre1' >>> Makefile:102: recipe for target 'all' failed >>> make: *** [all] Error 2 >> ... >>> $ nasm -version >>> NASM version 2.11.06 compiled on Feb 18 2015 >>> >> ... >> >> Builds OK with: >> $ nasm -version >> NASM version 2.11.08 compiled on Mar 6 2016 >> >> [Nasm-devel] Syslinux 6.03 build is broken by nasm upgrade 2.11.05 to 2.11.06 >> https://sourceforge.net/p/nasm/mailman/message/33074214 >> >>Actually this is sufficient as a solution, NASM version 2.11.06 patched with: "nasm: Fix -MD operating mode" http://repo.or.cz/nasm.git/commitdiff/0dd37af?hp=b2c3449 solves SYSLINUX build from source. https://bugzilla.redhat.com/show_bug.cgi?id=1315153
On 07.03.2016 06:45, poma wrote:> On 06.03.2016 18:23, poma wrote: >> On 06.03.2016 16:47, poma wrote: >>> ... >>>> nasm -f elf -Ox -g -F dwarf -DDATE_STR="''" \ >>>> -DHEXDATE="0x56dc3c62" \ >>>> -Di386 \ >>>> -I/tmp/syslinux-6.04-pre1/core/ \ >>>> -l ldlinux.lsr -o ldlinux.o -MP -MD ./.ldlinux.o.d /tmp/syslinux-6.04-pre1/core/ldlinux.asm >>>> nasm -f elf -Ox -g -F dwarf -DDATE_STR="''" \ >>>> -DHEXDATE="0x56dc3c62" \ >>>> -Di386 \ >>>> -I/tmp/syslinux-6.04-pre1/core/ \ >>>> -l isolinux.lsr -o isolinux.o -MP -MD ./.isolinux.o.d /tmp/syslinux-6.04-pre1/core/isolinux.asm >>>> diskstart.inc:438: error: symbol references not supported in preprocess-only mode >>>> diskstart.inc:438: error: non-constant value given to `%if' >>>> diskstart.inc:439: error: symbol references not supported in preprocess-only mode >>>> diskstart.inc:439: error: non-constant value given to `%assign' >>> ... >>>> /tmp/syslinux-6.04-pre1/core/isolinux.asm:23: fatal: unable to open include file `head.inc' >>>> /tmp/syslinux-6.04-pre1/core/Makefile:145: recipe for target 'isolinux.o' failed >>>> make[3]: *** [isolinux.o] Error 1 >>>> make[3]: *** Waiting for unfinished jobs.... >>>> /tmp/syslinux-6.04-pre1/core/ldlinux.asm:26: fatal: unable to open include file `head.inc' >>>> /tmp/syslinux-6.04-pre1/core/Makefile:145: recipe for target 'ldlinux.o' failed >>>> make[3]: *** [ldlinux.o] Error 1 >>>> make[3]: Leaving directory '/tmp/syslinux-6.04-pre1/bios/core' >>>> /tmp/syslinux-6.04-pre1/Makefile:287: recipe for target 'core' failed >>>> make[2]: *** [core] Error 2 >>>> make[2]: Leaving directory '/tmp/syslinux-6.04-pre1/bios' >>>> /tmp/syslinux-6.04-pre1/Makefile:256: recipe for target 'bios' failed >>>> make[1]: *** [bios] Error 2 >>>> make[1]: Leaving directory '/tmp/syslinux-6.04-pre1' >>>> Makefile:102: recipe for target 'all' failed >>>> make: *** [all] Error 2 >>> ... >>>> $ nasm -version >>>> NASM version 2.11.06 compiled on Feb 18 2015 >>>> >>> ... >>> >>> Builds OK with: >>> $ nasm -version >>> NASM version 2.11.08 compiled on Mar 6 2016 >>> >>> [Nasm-devel] Syslinux 6.03 build is broken by nasm upgrade 2.11.05 to 2.11.06 >>> https://sourceforge.net/p/nasm/mailman/message/33074214 >>> >>> > > Actually this is sufficient as a solution, > > NASM version 2.11.06 patched with: > "nasm: Fix -MD operating mode" > http://repo.or.cz/nasm.git/commitdiff/0dd37af?hp=b2c3449 > > solves SYSLINUX build from source. > https://bugzilla.redhat.com/show_bug.cgi?id=1315153 > >... nasm -f elf -Ox -g -F dwarf -DDATE_STR="'6.03-156-g1ac927d'" \ -DHEXDATE="0x56deef98" \ -Di386 \ -I/tmp/syslinux/core/ \ -l ldlinux.lsr -o ldlinux.o -MP -MD ./.ldlinux.o.d /tmp/syslinux/core/ldlinux.asm head.inc:26: fatal: NASM 2.11.06 is known to miscompile Syslinux /tmp/syslinux/core/Makefile:145: recipe for target 'ldlinux.o' failed make[3]: *** [ldlinux.o] Error 1 ... $ rpm --query --changelog nasm * Mon Mar 07 2016 poma <poma at gmail.com> - 2.11.06-2 - Fix "error: symbol references not supported in preprocess-only mode", needed by Syslinux ... With patched NASM building of the SYSLINUX works, but SYSLINUX commit 1ac927d breaks it again. To put a note in NEWS, as has been done so far on several releases, is the most elegant solution.
On 03/08/16 07:49, poma via Syslinux wrote:> > ... > nasm -f elf -Ox -g -F dwarf -DDATE_STR="'6.03-156-g1ac927d'" \ > -DHEXDATE="0x56deef98" \ > -Di386 \ > -I/tmp/syslinux/core/ \ > -l ldlinux.lsr -o ldlinux.o -MP -MD ./.ldlinux.o.d /tmp/syslinux/core/ldlinux.asm > head.inc:26: fatal: NASM 2.11.06 is known to miscompile Syslinux > /tmp/syslinux/core/Makefile:145: recipe for target 'ldlinux.o' failed > make[3]: *** [ldlinux.o] Error 1 > ... > > $ rpm --query --changelog nasm > * Mon Mar 07 2016 poma <poma at gmail.com> - 2.11.06-2 > - Fix "error: symbol references not supported in preprocess-only mode", > needed by Syslinux > ... > > With patched NASM building of the SYSLINUX works, > but SYSLINUX commit 1ac927d breaks it again. > > To put a note in NEWS, as has been done so far on several releases, is the most elegant solution. >Why on Earth would you apply that patch in isolation rather than move to a newer upstream version? Encouraging that behavior is not really a great idea IMO. -hpa