In file included from /usr/include/libbonobo-2.0/bonobo/bonobo-i18n.h:39, from ui-main.c:43: /usr/include/glib-2.0/glib/gi18n.h:30:1: error: "N_" redefined In file included from /usr/include/libgnome-2.0/libgnome/gnome-program.h:41, from /usr/include/libgnome-2.0/libgnome/gnome-help.h:27, from ui-main.c:40: /usr/include/popt.h:161:1: error: this is the location of the previous definition The error message is from compiling games-arcade/monkey-bubble-0.4.0 /usr/include/glib-2.0/glib/gi18n.h is from dev-libs/glib-2.14.4 /usr/include/popt.h is from dev-libs/popt-1.12 The error message looks similar to the one from bug 201958, which has been marked depending on bug 201993 which requests an update to popt-1.13.
Also similar to bug 201767, though there the workaround was to remove the bonobo include - perhaps not an option here. Probably the simplest fix would be to hack up /usr/include/glib-2.0/glib/gi18n.h to not define N_ if it is already defined, the same way /usr/include/popt.h does already.
Created attachment 138668 [details, diff] gi18n-gettext.patch Suggested patch.
Created attachment 138702 [details, diff] Patch to monkey-bubbles Ed, your mentioning that popt.h already includes such compiler switches gave me the idea for this patch here, which simply changes the order of include files for monkey-bubbles. Now bonobo gets included first, defines its N_, and popt later keeps silent. I still think your patch to glib would make a lot of sense, but in case the games maintainers want to beat the glib maintainers to it, here would be a way to fix the issue within the ebuild where it occurs.
Adding gnome to CC so they can address the issue in glib, probably using attachment #138668 [details, diff].
afaik, you only need to remove the bonobo-i18n.h and use the gi18n.h This is not harmful afaik (at least evolution still works fine even with these warnings) If the compilation is dying just because of this, stab upstream to not put -Werror in their compilation rules for releases tarballs.
Replace the #include <bonobo/bonobo-i18n.h> with #include <glib/gi18n.h>? That still fails because libgnome/gnome-help.h ends up pulling in popt.h. I guess Martin's patch is more correct. @the -Werror issue: didn't realise this was a warning, the cpp message is confusing. I'll look into that.
one year later I don't see this problem when building monkey-bubble so I guess current popt/glib in tree play nice with each other. Please reopen if there is still a problem.