Building sablotron 1.0.0 with gcc 3.4.1 with your CXXFLAGS containing -fvisibility=hidden fails to compile with the following output... g++ -O3 -pipe -ffast-math -march=pentium4 -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx -fvisibility=hidden -fvisibility-inlines-hidden -o .libs/sabcmd sabcmd.o ../engine/.libs/libsablot.so -lstdc++ /usr/lib/libexpat.so sabcmd.o(.text+0xc1b): In function `runSingleXSLT(char const**, char const**, char**)': : undefined reference to `SablotCreateSituation' sabcmd.o(.text+0xc46): In function `runSingleXSLT(char const**, char const**, char**)': : undefined reference to `SablotCreateProcessorForSituation' sabcmd.o(.text+0xcb9): In function `runSingleXSLT(char const**, char const**, char**)': : undefined reference to `SablotRunProcessor' sabcmd.o(.text+0xcd8): In function `runSingleXSLT(char const**, char const**, char**)': : undefined reference to `SablotDestroySituation' sabcmd.o(.text+0xcf0): In function `runSingleXSLT(char const**, char const**, char**)': ... sabcmd.o(.text+0x1744): In function `main': : undefined reference to `SablotProcessStrings' collect2: ld returned 1 exit status make[2]: *** [sabcmd] Error 1 make[2]: Leaving directory `/var/tmp/portage/sablotron-1.0/work/Sablot-1.0/src/command' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sablotron-1.0/work/Sablot-1.0/src' make: *** [all-recursive] Error 1 sabcmd.o(.text+0x1744): In function `main': : undefined reference to `SablotProcessStrings' collect2: ld returned 1 exit status make[2]: *** [sabcmd] Error 1 make[2]: Leaving directory `/var/tmp/portage/sablotron-1.0/work/Sablot-1.0/src/command' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sablotron-1.0/work/Sablot-1.0/src' make: *** [all-recursive] Error 1 !!! ERROR: app-text/sablotron-1.0 failed. If I modify the ebuild to specify my CXXFLAGS without the -fvisibility=hidden it compiled fine... this seems to be the same type of bug as bug 31325 (which claims it has been fixed but hasn't). I would have posted a patch but I couldn't get filter-flags to work correctly... Reproducible: Always Steps to Reproduce: 1. Install gcc 3.4.1 and add -fvisibilty=hidden to your CXXFLAGS 2. emerge sablotron 3. wait... Actual Results: compilation fails with the above error message. Expected Results: completed installation
sorry being stupid I mean its the same type as bug 77033
This bug is INVALID. You should never put -fvisibility=hidden in your CFLAGS/CXXFLAGS since it will break anything that builds shared libs and isn't specially designed to use it. It's purely for developers.
yeah, dont screw around with -fvisibility in your CFLAGS