#34605: kdelibs4 @4.8.2_0 __KDE_HAVE_GCC_VISIBILITY not defined in <prefix>/include/kdemacros.h --------------------------------+------------------------------------------- Reporter: iandw.au@… | Owner: snc@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.0.4 Keywords: | Port: kdelibs4 --------------------------------+------------------------------------------- Changes (by ryandesign@…): * cc: sharky@…, michaelld@… (added) * owner: macports-tickets@… => snc@… * port: kdelibs4 @4.8.2_0 => kdelibs4 Old description:
The file <prefix>/include/kdemacros.h is apparently generated by the CMake script <prefix>/share/apps/cmake/modules/FindKDE4Internal.cmake, where the KDE build tries to establish the compiler environment. After my kdelibs4 @4.8.2_0 install, I found that no other libraries I compiled and built with #include kdemacros.h could be linked to applications code (I have a development version of KDE Games on Apple). The reason was that GCC visibility of library classes and symbols was not available, because kdemacros.h did not have __KDE_HAVE_GCC_VISIBILITY defined.
Macports 2.0.4, XCode 4.2.1 and OSX 10.7.4 are giving me the symbolic link /usr/bin/c++ -> llvm-g++-4.2 When I force definition of __KDE_HAVE_GCC_VISIBILITY in my CMakeLists.txt, everything compiles and links OK and works fine. So I guess llvm-g++-4.2 is a GCC-like compiler, but is not being recognised as such.
New description: The file <prefix>/include/kdemacros.h is apparently generated by the CMake script <prefix>/share/apps/cmake/modules/FindKDE4Internal.cmake, where the KDE build tries to establish the compiler environment. After my kdelibs4 @4.8.2_0 install, I found that no other libraries I compiled and built with #include kdemacros.h could be linked to applications code (I have a development version of KDE Games on Apple). The reason was that GCC visibility of library classes and symbols was not available, because kdemacros.h did not have !__KDE_HAVE_GCC_VISIBILITY defined. Macports 2.0.4, XCode 4.2.1 and OSX 10.7.4 are giving me the symbolic link /usr/bin/c++ -> llvm-g++-4.2 When I force definition of !__KDE_HAVE_GCC_VISIBILITY in my CMakeLists.txt, everything compiles and links OK and works fine. So I guess llvm-g++-4.2 is a GCC-like compiler, but is not being recognised as such. -- -- Ticket URL: <https://trac.macports.org/ticket/34605#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS