Mailing List Archive

Re: [syslinux] SYSLINUX 3.53 released
Dag Wieers wrote:
>
> Since some time syslinux did not compile anymore on RH7 or EL2 (somewhere
> between 2.11 and 3.09), I looked today what made the build fail and a
> duplicate definition in the term_state/default_state structure definition
> breaks the old gcc.
>
> Not sure if there is a simple way to fix this so it can still be compiled ?
>

Try removing the duplication (looks like it's .xy in
com32/lib/sys/ansi.c). Then let me know.

-hpa

_______________________________________________
SYSLINUX-announce mailing list
SYSLINUX-announce@zytor.com
http://zytor.com/mailman/listinfo/syslinux-announce
Re: [syslinux] SYSLINUX 3.53 released [ In reply to ]
Dag Wieers wrote:
> On Tue, 20 Nov 2007, H. Peter Anvin wrote:
>
>> Dag Wieers wrote:
>>> Since some time syslinux did not compile anymore on RH7 or EL2 (somewhere
>>> between 2.11 and 3.09), I looked today what made the build fail and a
>>> duplicate definition in the term_state/default_state structure definition
>>> breaks the old gcc.
>>>
>>> Not sure if there is a simple way to fix this so it can still be compiled ?
>>>
>> Try removing the duplication (looks like it's .xy in
>> com32/lib/sys/ansi.c). Then let me know.
>
> Then you get this:
>
> gcc -Wp,-MT,pci/cfgtype.o,-MD,pci/.cfgtype.o.d -Os -march=i386 -falign-functions=0 -falign-jumps=0 -falign-labels=0 -ffast-math -fomit-frame-pointer -g -mregparm=3 -DREGPARM=3 -D__COM32__ -I. -I./sys -I../include -W -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Winline -DDYNAMIC_CRC_TABLE -DPNG_NO_CONSOLE_IO -DPNG_NO_WRITE_SUPPORTED -DPNG_NO_MNG_FEATURES -DPNG_NO_READ_tIME -DPNG_NO_WRITE_tIME -c -o pci/cfgtype.o pci/cfgtype.c
> pci/cfgtype.c: In function `pci_set_config_type':
> pci/cfgtype.c:56: unknown field `l' specified in initializer
> pci/cfgtype.c:56: warning: missing braces around initializer
> pci/cfgtype.c:56: warning: (near initialization for `ireg.eax')
> pci/cfgtype.c:57: unknown field `edi' specified in initializer
> pci/cfgtype.c:57: field `l' already initialized
> pci/cfgtype.c:58: unknown field `eflags' specified in initializer
> pci/cfgtype.c:58: field `l' already initialized
> pci/cfgtype.c:58: warning: excess elements in struct initializer
> pci/cfgtype.c:58: warning: (near initialization for `ireg')
> pci/cfgtype.c:59: warning: missing initializer
> pci/cfgtype.c:59: warning: (near initialization for `ireg.gs')
> make[2]: *** [pci/cfgtype.o] Error 1
> make[2]: Leaving directory `/dar/build/syslinux-3.53/com32/lib'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/dar/build/syslinux-3.53/com32'
> make: *** [installer] Error 2
> error: Bad exit status from /dar/tmp/rpm-tmp.59175 (%build)
>

Sounds like the compiler is either too old or buggy...

-hpa

_______________________________________________
SYSLINUX-announce mailing list
SYSLINUX-announce@zytor.com
http://zytor.com/mailman/listinfo/syslinux-announce
Re: [syslinux] SYSLINUX 3.53 released [ In reply to ]
Dag Wieers wrote:
>>>
>>> gcc -Wp,-MT,pci/cfgtype.o,-MD,pci/.cfgtype.o.d -Os -march=i386 -falign-functions=0 -falign-jumps=0 -falign-labels=0 -ffast-math -fomit-frame-pointer -g -mregparm=3 -DREGPARM=3 -D__COM32__ -I. -I./sys -I../include -W -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Winline -DDYNAMIC_CRC_TABLE -DPNG_NO_CONSOLE_IO -DPNG_NO_WRITE_SUPPORTED -DPNG_NO_MNG_FEATURES -DPNG_NO_READ_tIME -DPNG_NO_WRITE_tIME -c -o pci/cfgtype.o pci/cfgtype.c
>>> pci/cfgtype.c: In function `pci_set_config_type':
>>> pci/cfgtype.c:56: unknown field `l' specified in initializer
>>> pci/cfgtype.c:56: warning: missing braces around initializer
>>> pci/cfgtype.c:56: warning: (near initialization for `ireg.eax')
>>> pci/cfgtype.c:57: unknown field `edi' specified in initializer
>>> pci/cfgtype.c:57: field `l' already initialized
>>> pci/cfgtype.c:58: unknown field `eflags' specified in initializer
>>> pci/cfgtype.c:58: field `l' already initialized
>>> pci/cfgtype.c:58: warning: excess elements in struct initializer
>>> pci/cfgtype.c:58: warning: (near initialization for `ireg')
>>> pci/cfgtype.c:59: warning: missing initializer
>>> pci/cfgtype.c:59: warning: (near initialization for `ireg.gs')
>>> make[2]: *** [pci/cfgtype.o] Error 1
>>> make[2]: Leaving directory `/dar/build/syslinux-3.53/com32/lib'
>>> make[1]: *** [all] Error 2
>>> make[1]: Leaving directory `/dar/build/syslinux-3.53/com32'
>>> make: *** [installer] Error 2
>>> error: Bad exit status from /dar/tmp/rpm-tmp.59175 (%build)
>>>
>> Sounds like the compiler is either too old or buggy...
>
> If that is the reason, I can live with that :)
>

Well, specifically it looks like it can't deal with subfield
initializers in C99 style. It's possible one can break them up
hierarchially, but it would make the code harder to read.

-hpa

_______________________________________________
SYSLINUX-announce mailing list
SYSLINUX-announce@zytor.com
http://zytor.com/mailman/listinfo/syslinux-announce