Fehler beim Bauen von kdelibs4: -fvisibility=hidden

mousaka

getting older
Ich kann zur Zeit kdelibs4 nicht bauen:
Code:
CMake Error at cmake/modules/FindKDE4Internal.cmake:1098 (message):
  Qt compiled without support for -fvisibility=hidden.  This will break
  plugins and linking of some applications.  Please fix your Qt installation.
cmake und qt4-* habe ich bereits neu gebaut, leider ohne Erfolg. Optionen gibts für diese Ports keine die evtl. falsch definiert sein könnten.

Jemand einen Tipp?

mousaka


Hier der ganze Output von make build
Code:
# make build
===>   kdelibs-4.3.1_1 depends on file: /usr/local/lib/libhspell.a - found
===>   kdelibs-4.3.1_1 depends on executable: bison - found
===>   kdelibs-4.3.1_1 depends on package: qt4-corelib>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-dbus>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-gui>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-network>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-opengl>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-qt3support>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-qtestlib>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-script>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-sql>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-svg>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-xml>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-designer>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-phonon>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-assistant>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-svg>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-qdbusviewer>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-makeqpf>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-imageformats>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-qmake>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-moc>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-rcc>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on package: qt4-uic>=4.5.2 - found
===>   kdelibs-4.3.1_1 depends on executable: pkg-config - found
===>   kdelibs-4.3.1_1 depends on file: /usr/local/bin/automoc4 - found
===>   kdelibs-4.3.1_1 depends on package: kde4-shared-mime-info>=1 - found
===>   kdelibs-4.3.1_1 depends on file: /usr/local/bin/cmake - found
===>   kdelibs-4.3.1_1 depends on shared library: searchclient - found
===>   kdelibs-4.3.1_1 depends on shared library: soprano.4 - found
===>   kdelibs-4.3.1_1 depends on shared library: IlmImf - found
===>   kdelibs-4.3.1_1 depends on shared library: aspell - found
===>   kdelibs-4.3.1_1 depends on shared library: jasper - found
===>   kdelibs-4.3.1_1 depends on shared library: pcre - found
===>   kdelibs-4.3.1_1 depends on shared library: avahi-core - found
===>   kdelibs-4.3.1_1 depends on shared library: enchant.1 - found
===>   kdelibs-4.3.1_1 depends on shared library: ungif.5 - found
===>   kdelibs-4.3.1_1 depends on shared library: png.5 - found
===>   kdelibs-4.3.1_1 depends on shared library: jpeg - found
===>   kdelibs-4.3.1_1 depends on shared library: idn - found
===>   kdelibs-4.3.1_1 depends on shared library: utempter - found
===>   kdelibs-4.3.1_1 depends on shared library: hal.1 - found
===>   kdelibs-4.3.1_1 depends on shared library: lzma.0 - found
===>   kdelibs-4.3.1_1 depends on shared library: smbclient.0 - found
===>   kdelibs-4.3.1_1 depends on shared library: dns_sd - found
===>   kdelibs-4.3.1_1 depends on shared library: intl - found
===>   kdelibs-4.3.1_1 depends on shared library: xml2.5 - found
===>   kdelibs-4.3.1_1 depends on shared library: xslt.2 - found
===>  Configuring for kdelibs-4.3.1_1
/usr/bin/sed -i.bak -e 's|/usr/local|/usr/local|g'  -e 's|/usr/X11R6|/usr/local|g'  /usr/ports/x11/kdelibs4/work/kdelibs-4.3.1/cmake/modules/*.cmake  /usr/ports/x11/kdelibs4/work/kdelibs-4.3.1/ConfigureChecks.cmake  /usr/ports/x11/kdelibs4/work/kdelibs-4.3.1/doc/api/doxygen.sh
/usr/bin/sed -i.bak -e '/KDE_DEFAULT_HOME/s|.kde|.kde4|'  /usr/ports/x11/kdelibs4/work/kdelibs-4.3.1/CMakeLists.txt
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.5.2 (using /usr/local/bin/qmake-qt4)
-- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so;/usr/local/lib/libXft.so;/usr/local/lib/libXau.so;/usr/local/lib/libXdmcp.so;/usr/local/lib/libXpm.so
-- Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so;/usr/local/lib/libXft.so;/usr/local/lib/libXau.so;/usr/local/lib/libXdmcp.so;/usr/local/lib/libXpm.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/local/lib/libX11.so
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Found Threads: TRUE
-- Found Automoc4: /usr/local/bin/automoc4
-- Found Perl: /usr/bin/perl
-- Building kdelibs...
-- Phonon Version: 4.3.1
-- Found Phonon: /usr/local/lib/qt4/libphonon.so
-- Found Phonon Includes: /usr/local/include/qt4/KDE;/usr/local/include/qt4
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
CMake Error at cmake/modules/FindKDE4Internal.cmake:1098 (message):
  Qt compiled without support for -fvisibility=hidden.  This will break
  plugins and linking of some applications.  Please fix your Qt installation.
Call Stack (most recent call first):
  CMakeLists.txt:35 (find_package)


-- Configuring incomplete, errors occurred!
*** Error code 1

Stop in /usr/ports/x11/kdelibs4.
salamander# make clean
===>  Cleaning for kdelibs-4.3.1_1
 
[Gelöst] Fehler beim Bauen von kdelibs4: -fvisibility=hidden

Hier mal ein Update:

Mit dem 8.0-RELEASE habe ich mein System neu installiert. Nachdem ich Xorg und Gnome per pkg_add installiert habe, wurde der Rest aus den Ports gebaut.
Dazu verwende ich die buildflags mit distcc und ccache um das Kompilieren zu beschleunigen. Prompt liessen sich die kdelibs wieder mit obigem Fehler nicht bauen.

Folgende Schritte habe ich ausprobiert
  • qmake ohne Optionen 1) neu gebaut und immer noch obigen Fehler
  • cmake ohne Optionen 1) neu gebaut und immer noch obigen Fehler
  • portmaster -f x11/kdelibs4 und immer noch obigen Fehler
:grumble:

1) Ohne MAKE_JOBS, ohne DISTCC und ohne CCACHE: {!FORCE_MAKE_JOBS !USE_DISTCC !USE_CCACHE}

Erst nachdem ich die buildflags komplett deaktiviert hatte (in der /etc/make.conf auskommentiert), hat ein portmaster -f x11/kdelibs4 zum Erfolg geführt.

Es scheint also einen Port zu geben, der sich anders verhält jenachdem wie er (erfolgreich) gebaut wurde.
Dazu habe ich folgende Fragen:
  1. Wie finde ich den entsprechenden Port? kdelibs4 hat ja nicht gerade wenig Abhängigkeiten. Vermutungen sind auch willkommen.
  2. Können andere Ports auch ein unterschiedliches Verhalten an den Tag legen, wenn Sie mit oder ohne obigen Optionen gebaut werden?

mousaka
 
Hatte bei mir mal qt4 und KDE4 Ports, die sich nicht mehr bauen lassen wollten,
bei mir hat dann das hier funktioniert:
[/usr/ports/Mk/bsd.qt.mk.diff]
Code:
--- /usr/ports/Mk/bsd.qt.mk.orig        2009-11-28 21:53:32.000000000 +0100
+++ /usr/ports/Mk/bsd.qt.mk     2009-11-28 21:54:22.000000000 +0100
@@ -85,7 +85,7 @@
 MOC?=          ${QT_PREFIX}/bin/moc-qt4
 UIC?=          ${QT_PREFIX}/bin/uic-qt4
 QMAKE?=                ${QT_PREFIX}/bin/qmake-qt4
-QMAKESPEC?=    ${QT_PREFIX}/share/qt4/mkspecs/freebsd-g++
+QMAKESPEC=     ${QT_PREFIX}/share/qt4/mkspecs/freebsd-g++
 QMAKEFLAGS+=   QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \
                QMAKE_LINK="${CXX}" QMAKE_CFLAGS="${CFLAGS}" \
                QMAKE_CXXFLAGS="${CXXFLAGS}" \
Also einfach in /usr/ports/Mk/bsd.qt.mk
das Fragezeichen bei den QMAKESPEC rausgenommen.
Nach dem nächsten csup wird die /usr/ports/Mk/bsd.qt.mk
wieder hergestellt. Ist also nichts dauerhaftes.


Gruß, Fusselbär
 
Zurück
Oben