[ 11%] Building CXX object kicker/libkicker/CMakeFiles/kickermain-shared.dir/panner.cpp.o [ 11%] Building CXX object kicker/libkicker/CMakeFiles/kickermain-shared.dir/kickerSettings.cpp.o In file included from /usr/include/QtCore/QFile:1:0, from /home/david/arch/pkg/tbld/kdebase/src/kicker/libkicker/kickerSettings.cpp:7: /usr/include/QtCore/qfile.h:53:1: error: ‘QT_BEGIN_HEADER’ does not name a type /usr/include/QtCore/qfile.h:62:27: error: expected initializer before ‘:’ token make[2]: *** [kicker/libkicker/CMakeFiles/kickermain-shared.dir/kickerSettings.cpp.o] Error 1 make[1]: *** [kicker/libkicker/CMakeFiles/kickermain-shared.dir/all] Error 2 make: *** [all] Error 2 Aborting...
I have 3 x86_64 boxes and 4 i686 boxes I'm building on. Some with kde4, some without. With kde4/Qt4 installed, the kdebase build dies as above.
On the boxes without QT4, the build progresses to 30% before the iccconfig.cpp build error.
I'm rather stumped.I would like to find a way to tell the kdebase build to NOT EVER-EVER look in /usr/include/QtCore. But so far I haven't found a way to do it. It is clear from the error above, that the qt4 qfile.h is causing the problem. The correct qfile.h is in /opt/qt/include, but for some reason isn't being used:
22:24 providence:~/arch/pkg/tbld/kdebase/kicker/libkicker> pmq -o /usr/include/QtCore/qfile.h /usr/include/QtCore/qfile.h is owned by qt 4.7.1-3 22:24 providence:~/arch/pkg/tbld/kdebase/kicker/libkicker> find /opt/qt/ -name qfile.h /opt/qt/include/qfile.h
I try limiting that problem with PATH and kde environment tweaks:
build() { msg "Setting PATH, CMAKE and Trinity Environment variables" [[ ${PATH%%:*} =~ /opt/qt/bin ]] || export PATH=/opt/qt/bin:$PATH export CMAKE_PREFIX_PATH=/opt/qt export CMAKE_INCLUDE_PATH=/opt/qt/include:/opt/qt/include/tqt export KDEDIR=/opt/trinity export KDEDIRS=/opt/trinity:/usr export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/lib/pkgconfig:/opt/qt/lib/pkgconfig export XDG_CONFIG_DIRS=/etc/xdg:/opt/trinity/etc/xdg:/opt/trinity/etc/xdg export XDG_DATA_DIRS=/usr/share/:/usr/local/share/:/opt/trinity/share:/opt/trinity/share
trinity_prefix="/opt/trinity"
cd ${srcdir} cmake ../ \ -DCMAKE_INSTALL_PREFIX=${trinity_prefix} \ -DWITH_QT3=ON \ -DBUILD_ALL=ON \ -DCMAKE_SKIP_RPATH=ON make || return 1 }
But even with these variables, the build grabs QtCore regardless. Are there any other cmake variables that I can use that would make sense in this situation?
Any help would be greatly appreciated. Also, let me know if there and statements or variables set above that I need to remove. Thanks.