[syslinux] Syslinux 6.04-pre1

poma pomidorabelisima at gmail.com
Tue Mar 8 07:49:06 PST 2016


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.




More information about the Syslinux mailing list