games-action/chromium-0.9.14 fails to compile when USE="-nls" with the following error... >>> Compiling source in /var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14 ... make -j1 cd . && /bin/sh /var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/missing --run autoheader rm -f stamp-h1 touch config.h.in cd . && /bin/sh ./config.status config.h config.status: creating config.h config.status: config.h is unchanged make all-recursive make[1]: Entering directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14' Making all in po make[2]: Entering directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/po' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/po' Making all in misc make[2]: Entering directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/misc' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/misc' Making all in src make[2]: Entering directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/src' i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -pthread -pthread -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL "-DPACKAGE=\"chromium-bsu\"" "-DLOCALEDIR=\"/usr/games/share/locale\"" "-DPKGDATADIR=\"/usr/share/games/chromium-bsu\"" -O2 -march=k8 -pipe -fomit-frame-pointer -c -o chromium_bsu-Ammo.o `test -f 'Ammo.cpp' || echo './'`Ammo.cpp i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -pthread -pthread -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL "-DPACKAGE=\"chromium-bsu\"" "-DLOCALEDIR=\"/usr/games/share/locale\"" "-DPKGDATADIR=\"/usr/share/games/chromium-bsu\"" -O2 -march=k8 -pipe -fomit-frame-pointer -c -o chromium_bsu-Audio.o `test -f 'Audio.cpp' || echo './'`Audio.cpp /usr/include/libintl.h:40: error: expected unqualified-id before 'char' /usr/include/libintl.h:40: error: expected initializer before 'char' Audio.cpp: In member function 'virtual void Audio::setMusicVolume(float)': Audio.cpp:264: warning: converting to 'int' from 'float' make[2]: *** [chromium_bsu-Audio.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/games-action/chromium-0.9.14/work/chromium-bsu-0.9.14' make: *** [all] Error 2 Solution is to always include libintl.h with the following patch...
Created attachment 190812 [details, diff] chromium-0.9.14-libintl.patch
Please provide emerge --info.
Created attachment 190871 [details] emerge --info
Builds fine for me on stable x86. Reopen with the full output from the attempted build.
Created attachment 191300 [details] build.log
Re-opening with requested info.
Can you attach your /usr/include/libintl.h please?
Created attachment 191430 [details] libintl.h Attached /usr/include/libintl.h is from the current stable sys-libs/glibc-2.8_p20080602-r1 installed with USE="-nls".
Please read some of the other bugs with the same problem and how they resolved, dev-util/monotone, dev-lang/mono, audacious-plugins, etc. The issue needs to be reported to upstream and the attached patch in the first post applied until upstream fix. Thanks :)
So far I'm not convinced it's not just something screwed up on your system. It builds just fine for me on stable x86.
Do you have sys-libs/glibc-2.8_p20080602-r1 built with USE="-nls" ?
yes. This whole system is built with -nls. My copy of libintl.h is exactly the same as your copy. The main difference that I see is that I'm using gcc-4.3 while you're still on 4.1.
You're spot on the mark :) Compile failure only occurs with gcc-4.1 and only if USE="-nls". Compile works fine with gcc-4.3.
ok, I'll go ahead and mark this won't fix then since it works with gcc4.3. gcc4.1 is going away anyhow so this issue won't be around then and gcc4.3 is stable for all archs. Thanks for the bug report and for testing.