xine-lib-1.1.2_pre20060328-r9 fails to compile with GCC < 4.0 because it attempts to use the -fvisibility=hidden flag that was added in GCC 4. The flag was added by a Gentoo patch to the configure.ac file. The name of the patch file is 237_all_visibility.patch. While there is nothing wrong with requiring GCC 4 to compile, the dependency should be an explicit one. However, supporting GCC < 4 would be a better idea. The following patch to the patch file allows compilation to succeed: --- 237_all_visibility.patch 2006-04-26 13:10:28.000000000 -0400 +++ ../../237_all_visibility.patch 2006-06-24 15:08:52.000000000 -0400 @@ -10,7 +10,7 @@ + AC_DEFINE([EXPORTED], + [__attribute__((visibility("default")))], + [Mark a symbol as being exported if visibility is changed]) -+ VISIBILITY_FLAG="-fvisibility=hidden" ++ VISIBILITY_FLAG="" + ], [ + AC_DEFINE([EXPORT], [], [Dummy mark as being exported]) + ]) However, I do not know the justification for adding the flag (i.e. whether it was necessary to avoid namespace collision, or just a precaution), but xine seems to work fine with the above modification.
*** This bug has been marked as a duplicate of 132122 ***
Thank you for the free support. I had not even known that the gcc-config tool existed before now. However, you (the Gentoo community, not you in particular) should expect a lot of similar bugs unless you do a better job of informing your users what steps must be taken after emerging a package. I know that I have absolutely no intention of reviewing the Gentoo handbook every few months to learn of new hoops I have to jump through to ensure my system is working properly. I don't mind having to perform maintenance once in a while, but I do like the information not to be buried in thousands of lines of compiler output.