Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 119953 - xmame/xmess-0.103 fail to compile with gcc-3.3.x
Summary: xmame/xmess-0.103 fail to compile with gcc-3.3.x
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-22 09:48 UTC by Jason Wever (RETIRED)
Modified: 2006-03-28 13:10 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Makefile patch for xmame 0.103 (xmame-0.103-makefile.patch,1.38 KB, patch)
2006-01-23 12:46 UTC, Dan Foster
Details | Diff
Modified xmame ebuild to include makefile patch (xmame-0.103-r1.ebuild,5.86 KB, patch)
2006-01-23 12:46 UTC, Dan Foster
Details | Diff
Makefile patch for xmess 0.103 (xmess-0.103-makefile.patch,1.38 KB, patch)
2006-01-23 19:54 UTC, Dan Foster
Details | Diff
Modified xmess ebuild to include makefile patch (xmess-0.103-r1.ebuild,5.86 KB, patch)
2006-01-23 19:55 UTC, Dan Foster
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Wever (RETIRED) gentoo-dev 2006-01-22 09:48:46 UTC
xmame and xmess 0.103 fail to compile under gcc-3.3.x with what appears to be an invalid compiler flag.  The error message is as follows:

# @echo 'Compiling src/expat/xmlrole.c ...'
gcc -mcpu=ultrasparc3 -mvis -O2 -pipe -Wa,-Av8plusa -std=gnu89 -Wall -Wno-unused -Wdeclaration-after-statement -Isrc/expat '-DINLINE=static __inline__' -DALIGN_INTS -DALIGN_SHORTS  -D__ARCH_linux -D__CPU_risc -DSDL -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp -DPI=M_PI -DXMAME -DUNIX -DSIGNED_SAMPLES -DCLIB_DECL= -DHAVE_UNISTD_H=1  -DHAS_CDDA=1 -DHAS_CUSTOM=1 -DHAS_SAMPLES=1 -DHAS_DAC=1 -DHAS_DMADAC=1 -DHAS_DISCRETE=1 -DHAS_AY8910=1 -DHAS_YM2203=1 -DHAS_YM2151=1 -DHAS_YM2608=1 -DHAS_YM2610=1 -DHAS_YM2610B=1 -DHAS_YM2612=1 -DHAS_YM3438=1 -DHAS_YM2413=1 -DHAS_YM3812=1 -DHAS_YM3526=1 -DHAS_YMZ280B=1 -DHAS_Y8950=1 -DHAS_SN76477=1 -DHAS_SN76496=1 -DHAS_POKEY=1 -DHAS_TIA=1 -DHAS_NES=1 -DHAS_ASTROCADE=1 -DHAS_NAMCO=1 -DHAS_NAMCO_15XX=1 -DHAS_NAMCO_CUS30=1 -DHAS_NAMCO_52XX=1 -DHAS_NAMCO_54XX=1 -DHAS_NAMCO_63701X=1 -DHAS_NAMCONA=1 -DHAS_TMS36XX=1 -DHAS_TMS5110=1 -DHAS_TMS5220=1 -DHAS_VLM5030=1 -DHAS_OKIM6295=1 -DHAS_MSM5205=1 -DHAS_MSM5232=1 -DHAS_UPD7759=1 -DHAS_HC55516=1 -DHAS_K005289=1 -DHAS_K007232=1 -DHAS_K051649=1 -DHAS_K053260=1 -DHAS_K054539=1 -DHAS_SEGAPCM=1 -DHAS_RF5C68=1 -DHAS_CEM3394=1 -DHAS_C140=1 -DHAS_QSOUND=1 -DHAS_SAA1099=1 -DHAS_IREMGA20=1 -DHAS_ES5505=1 -DHAS_ES5506=1 -DHAS_BSMT2000=1 -DHAS_YMF262=1 -DHAS_YMF278B=1 -DHAS_GAELCO_CG1V=1 -DHAS_GAELCO_GAE1=1 -DHAS_X1_010=1 -DHAS_MULTIPCM=1 -DHAS_C6280=1 -DHAS_SP0250=1 -DHAS_SCSP=1 -DHAS_PSXSPU=1 -DHAS_YMF271=1 -DHAS_ICS2115=1 -DHAS_ST0016=1 -DHAS_C352=1 -DHAS_VRENDER0=1 -DHAS_VOTRAX=0 -DHAS_ES8712=1 -DHAS_RF5C400=1 -DHAS_Z80=1 -DHAS_Z180=1 -DHAS_8080=1 -DHAS_8085A=1 -DHAS_M6502=1 -DHAS_M65C02=1 -DHAS_M65SC02=1 -DHAS_M65CE02=0 -DHAS_M6509=0 -DHAS_M6510=1 -DHAS_M6510T=0 -DHAS_M7501=0 -DHAS_M8502=0 -DHAS_N2A03=1 -DHAS_DECO16=1 -DHAS_M4510=0 -DHAS_H6280=1 -DHAS_I86=1 -DHAS_I88=1 -DHAS_I186=1 -DHAS_I188=0 -DHAS_I286=0 -DHAS_I386=1 -DHAS_I486=0 -DHAS_PENTIUM=1 -DHAS_MEDIAGX=1 -DHAS_V20=1 -DHAS_V30=1 -DHAS_V33=1 -DHAS_V60=1 -DHAS_V70=1 -DHAS_I8035=1 -DHAS_I8039=1 -DHAS_I8048=1 -DHAS_N7751=1 -DHAS_I8X41=1 -DHAS_I8051=1 -DHAS_I8052=1 -DHAS_I8751=1 -DHAS_I8752=1 -DHAS_M6800=1 -DHAS_M6801=1 -DHAS_M6802=1 -DHAS_M6803=1 -DHAS_M6808=1 -DHAS_HD63701=1 -DHAS_NSC8105=1 -DHAS_M6805=1 -DHAS_M68705=1 -DHAS_HD63705=1 -DHAS_HD6309=1 -DHAS_M6809=1 -DHAS_M6809E=1 -DHAS_KONAMI=1 -DHAS_M68000=1 -DHAS_M68008=0 -DHAS_M68010=1 -DHAS_M68EC020=1 -DHAS_M68020=1 -DHAS_M68040=1 -DHAS_T11=1 -DHAS_S2650=1 -DHAS_TMS34010=1 -DHAS_TMS34020=1 -DHAS_TMS9900=0 -DHAS_TMS9940=0 -DHAS_TMS9980=1 -DHAS_TMS9985=0 -DHAS_TMS9989=0 -DHAS_TMS9995=1 -DHAS_TMS99000=0 -DHAS_TI990_10=0 -DHAS_TMS99105A=0 -DHAS_TMS99110A=0 -DHAS_Z8000=1 -DHAS_TMS32010=1 -DHAS_TMS32025=1 -DHAS_TMS32026=1 -DHAS_TMS32031=1 -DHAS_CCPU=1 -DHAS_ADSP2100=1 -DHAS_ADSP2101=1 -DHAS_ADSP2104=1 -DHAS_ADSP2105=1 -DHAS_ADSP2115=1 -DHAS_ADSP2181=1 -DHAS_PSXCPU=1 -DHAS_ASAP=1 -DHAS_UPD7810=1 -DHAS_UPD7807=1 -DHAS_ARM=1 -DHAS_ARM7=1 -DHAS_JAGUAR=1 -DHAS_R3000=1 -DHAS_R4600=1 -DHAS_R4700=1 -DHAS_R5000=1 -DHAS_QED5271=1 -DHAS_RM7000=1 -DHAS_SH2=1 -DHAS_DSP32C=1 -DHAS_PIC16C54=0 -DHAS_PIC16C55=1 -DHAS_PIC16C56=0 -DHAS_PIC16C57=1 -DHAS_PIC16C58=0 -DHAS_G65816=1 -DHAS_SPC700=1 -DHAS_E116T=1 -DHAS_E116XT=0 -DHAS_E116XS=0 -DHAS_E116XSR=0 -DHAS_E132N=1 -DHAS_E132T=0 -DHAS_E132XN=0 -DHAS_E132XT=1 -DHAS_E132XS=0 -DHAS_E132XSR=0 -DHAS_GMS30C2116=1 -DHAS_GMS30C2132=0 -DHAS_GMS30C2216=0 -DHAS_GMS30C2232=0 -DHAS_I960=1 -DHAS_H83002=1 -DHAS_V810=1 -DHAS_M37710=1 -DHAS_PPC403=1 -DHAS_PPC602=1 -DHAS_PPC603=1 -DHAS_SE3208=1 -DHAS_MC68HC11=1 -DHAS_ADSP21062=1 -DHAS_DSP56156=1   -I. -Isrc -Isrc/includes -Isrc/debug -Isrc/unix -Ixmame.obj/cpu/m68000 -Isrc/cpu/m68000 -DHAVE_MMAP -DCRLF=2 -DSYSDEP_DSP_OSS -DSYSDEP_MIXER_OSS -DHAVE_SNPRINTF -DHAVE_VSNPRINTF -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -o xmame.obj/expat/xmlrole.o -c src/expat/xmlrole.c
cc1: error: unrecognized option `-Wdeclaration-after-statement'
make: *** [xmame.obj/expat/xmlrole.o] Error 1
make: *** Waiting for unfinished jobs....
cc1: error: unrecognized option `-Wdeclaration-after-statement'
make: *** [xmame.obj/expat/xmlparse.o] Error 1
                
!!! ERROR: games-emulation/xmame-0.103 failed.
!!! Function src_compile, Line 143, Exitcode 2
!!! emake failed (SDL)
!!! If you need support, post the topmost build error, NOT this status message.


This happens for me on ~sparc and sparc, which are both gcc-3.3.x based.

Let me know if you want more info (like emerge info).  Cheers
Comment 1 Dan Foster 2006-01-23 12:46:00 UTC
Created attachment 77942 [details, diff]
Makefile patch for xmame 0.103

This patch comments out the use of gcc 3.4.x's -Wdeclaration-after-statement in makefile.{mame,mes,unix}
Comment 2 Dan Foster 2006-01-23 12:46:55 UTC
Created attachment 77943 [details, diff]
Modified xmame ebuild to include makefile patch

This slightly modified 0.103 ebuild applies the makefile patch.
Comment 3 Dan Foster 2006-01-23 12:47:28 UTC
Happens for me on x86 with gcc 3.3.6, too.

Further research shows that:

a) -Wdeclaration-after-statement first appeared in gcc 3.4.x

b) The only reference to this qualifier in xmame is in these files:

makefile.mame:  -Wdeclaration-after-statement
makefile.mes:   -Wdeclaration-after-statement
makefile.unix:  CFLAGS += -Wdeclaration-after-statement

c) Upstream maintainers has been notified via their official xmame mailing list, as there is no official bug report web site or procedure that I am aware of.

d) I have provided two files (attached here) as a working patch to the 0.103 ebuild as an interim workaround. It just simply comments out that flag from the makefiles.

e) The Gentoo maintainers could either incorporate my patch or they could choose to hard mask 0.103 if/until fixed upstream. (It's not clear at this time if upstream will consider changing this.)

f) xmame 0.102 had this qualifier commented out; it was apparently first enabled by default in version 0.103.

I have tested the modified ebuild + patch, and it builds correctly now, and also runs ok.
Comment 4 Dan Foster 2006-01-23 13:05:59 UTC
I didn't realize xmess was in a separate ebuild.

The good news is that, however, the patch and ebuild modification is pretty much identical for xmess as what I offered for xmame.
Comment 5 Dan Foster 2006-01-23 19:51:57 UTC
I've talked briefly with the official upstream maintainer for xmame/xmess, Lawrence Gold. He will comment out the gcc flag in question for version 0.104.

So it appears that the best course of action to resolve this bug is to review my proposed patches for xmame and xmess... and if satisfactory, apply them to Portage as xmame/xmess 0.103-r1.

Then once (whenever that is) 0.104 is released, remove the epatch line from the ebuild for the 0.104 ebuild files.
Comment 6 Dan Foster 2006-01-23 19:54:06 UTC
Created attachment 77965 [details, diff]
Makefile patch for xmess 0.103

This patch comments out the use of gcc 3.4.x's -Wdeclaration-after-statement in
makefile.{mame,mes,unix}

Note: this is for xmess. The earlier one was for xmame.
Comment 7 Dan Foster 2006-01-23 19:55:24 UTC
Created attachment 77966 [details, diff]
Modified xmess ebuild to include makefile patch

This slightly modified 0.103 ebuild applies the makefile patch.

Note: this is for xmess; the earlier one was for xmame.
Comment 8 Dan Foster 2006-02-22 03:34:55 UTC
Version 0.104 of xmame and xmess has been released; it addresses this build issue for anyone using gcc older than 3.4.

Should be able to close this bug report once the 0.104 ebuilds has been put in Portage. 0.104 itself has already been released by the xmame/xmess upstream maintainer.
Comment 9 Mr. Bones. (RETIRED) gentoo-dev 2006-03-28 13:10:00 UTC
pretty sure this is fixed already.