Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
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
Created an attachment (id=77942) [edit] Makefile patch for xmame 1.03 This patch comments out the use of gcc 3.4.x's -Wdeclaration-after-statement in makefile.{mame,mes,unix}
Created an attachment (id=77943) [edit] Modified ebuild to include makefile patch This slightly modified 0.103 ebuild applies the makefile patch.
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.
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.
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.
Created an attachment (id=77965) [edit] 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.
Created an attachment (id=77966) [edit] 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.
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.
pretty sure this is fixed already.