As a followup to bug http://bugs.gentoo.org/show_bug.cgi?id=148894 I removed -fvisibility-inlines-hidden from my CFLAGS, but still i get a compilation error. This one i'm not sure exactly what from. Making all in tests make[2]: Entering directory `/var/tmp/portage/libxklavier-2.2/work/libxklavier-2.2/tests' if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -Werror -I/usr/include -I -I.. -Os -march=pentium-m -pipe -fomit-frame-pointer -ftracer -fweb -fvar-tracking -MT test_config.o -MD -MP -MF ".deps/test_config.Tpo" -c -o test_config.o test_config.c; \ then mv -f ".deps/test_config.Tpo" ".deps/test_config.Po"; else rm -f ".deps/test_config.Tpo"; exit 1; fi if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -Werror -I/usr/include -I -I.. -Os -march=pentium-m -pipe -fomit-frame-pointer -ftracer -fweb -fvar-tracking -MT test_monitor.o -MD -MP -MF ".deps/test_monitor.Tpo" -c -o test_monitor.o test_monitor.c; \ then mv -f ".deps/test_monitor.Tpo" ".deps/test_monitor.Po"; else rm -f ".deps/test_monitor.Tpo"; exit 1; fi cc1: warnings being treated as errors test_monitor.c:1: warning: variable tracking requested, but useless unless producing debug info make[2]: *** [test_monitor.o] Error 1 make[2]: *** Waiting for unfinished jobs.... cc1: warnings being treated as errors test_config.c:1: warning: variable tracking requested, but useless unless producing debug info make[2]: *** [test_config.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/libxklavier-2.2/work/libxklavier-2.2/tests' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/libxklavier-2.2/work/libxklavier-2.2' make: *** [all] Error 2 !!! ERROR: x11-libs/libxklavier-2.2 failed. Call stack: ebuild.sh, line 1546: Called dyn_compile ebuild.sh, line 937: Called src_compile libxklavier-2.2.ebuild, line 49: Called die !!! emake failed !!! If you need support, post the topmost build error, and the call stack if relevant. xushitop d # emerge -- info is the same as the previous, just without the CFLAG.
You should know better than sticking -fvisibility-inlines-hidden into CFLAGS. The message clearly tells you that you've screwed-up (plus, this is an upstream issue and -Werror is already removed in >=3.0)
Why the comment ? http://gentoo-wiki.com/CFLAGS_matrix says that it doesn't work with gcc 3.3. The note says "Avoids exporting unneeded symbols from libraries, making them smaller. Recommended especially for KDE users.". And since i'm a KDE user i used it. The error is green there, and only says "Some older wxGTK versions don't compile. The wxGTK-2.6 version compiles, but doesn't work. Prelinking will no longer work.". I'm on wxGTK-2.6.3.2 so that's no problem. Furthermore, i removed the CFLAG and recompiled, and it's a different error.
Edit: http://gentoo-wiki.com/CFLAGS_matrix says that it doesn't work with gcc 3.3, but i'm on GCC 4.1.1
KDE has USE=kdehiddenvisibility for this. And, it plain doesn't belong into CFLAGS, that's what the message tells you: <snip> cc1: warning: command line option "-fvisibility-inlines-hidden" is valid for C++/ObjC++ but not for C </snip>
<snip> test_monitor.c:1: warning: variable tracking requested, but useless unless producing debug info </snip> -fvar-tracking is obviously causing the above. I'd suggest reading man gcc before sticking stuff into your C[XX]FLAGS. :)
<snip> As a followup to bug http://bugs.gentoo.org/show_bug.cgi?id=148894 I removed -fvisibility-inlines-hidden from my CFLAGS, but still i get a compilation error. This one i'm not sure exactly what from. </snip> This is strange. If what you said above is true, then i'm getting confused.. Check out the dump, "..................-I/usr/include -I -I.. -Os -march=pentium-m -pipe -fomit-frame-pointer -ftracer -fweb -fvar-tracking -MT test_monitor.o......................" Doesn't seem like -fvisibility-inlines-hidden is there. Or do i have to recompile gcc after i remove it from make.conf ?
Edit: Sorry, i didn't read comment 4. That makes sense to me now.