Guys, After getting kdelibs done, I have run into a wall with the building kdebase: http://websvn.kde.org/branches/trinity/kdebase/ (see bottom of page for admin and cmake links) There are 2 issues I'm having on Arch: (1) If kde4/Qt4 is installed, cmake fails when it uses /usr/include/QtCore/qfile.h instead of /opt/qt/include/qfile.h. I cannot figure out how to tell cmake to ignore the /usr/include. I have tried the cmake arguments: cmake ../ \ -DCMAKE_INSTALL_PREFIX=${trinity_prefix} \ -DWITH_QT3=ON \ -DQTDIR=/opt/qt \ -DBUILD_ALL=ON \ -DCMAKE_SKIP_RPATH=ON and I have set the environment as: [[ ${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 However, the kdebase build still fails due to grabbing the wrong qfile.h: [ 11%] Building CXX object kicker/libkicker/CMakeFiles/kickermain-shared.dir/kickerSettings.cpp.o cd /dat_e/david/bld/trinity/kdebase/src/kicker/libkicker && /usr/bin/c++ -Dkickermain_shared_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3 -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -march=x86-64 -mtune=generic -O2 -pipe -include tqt.h -fPIC -I/dat_e/david/bld/trinity/kdebase/src/kicker/libkicker -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -o CMakeFiles/kickermain-shared.dir/kickerSettings.cpp.o -c /dat_e/david/bld/trinity/kdebase/src/kicker/libkicker/kickerSettings.cpp In file included from /usr/include/QtCore/QFile:1:0, from /dat_e/david/bld/trinity/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[2]: Leaving directory `/dat_e/david/bld/trinity/kdebase/src' make[1]: *** [kicker/libkicker/CMakeFiles/kickermain-shared.dir/all] Error 2 make[1]: Leaving directory `/dat_e/david/bld/trinity/kdebase/src' make: *** [all] Error 2 Aborting... I don't know if this is due to checks in the admin/acinclude.m4.in that look for kde4 before looking for kde3 and set QTDIR or what, but I need help find a way to have cmake ignore the Qt4 /usr/include. (2) On boxes without kde4, the kdebase build proceeds fine until it hits 29% building kcontrol/iccconfig/iccconfig.cpp. From talking to the folks on the trinity list, it looks like something related to the xrandr package. Looking at the error, it looks like the build doesn't understand the type ‘KRandrSimpleAPI*’. The full build error is: [ 29%] Building CXX object kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o cd /home/david/arch/pkg/tbld/kdebase/src/kcontrol/iccconfig && /usr/bin/c++ -Dkcm_iccconfig_module_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3 -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -march=i686 -mtune=generic -O2 -pipe -include tqt.h -fPIC -I/home/david/arch/pkg/tbld/kdebase/src/kcontrol/iccconfig -I/home/david/arch/pkg/tbld/kdebase/src -I/opt/trinity/include -I/opt/qt/include -I/opt/qt/include/tqt -DKDE_CONFDIR=\"/opt/trinity/share/config\" -o CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o -c /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp: In member function ‘void KICCConfig::load(bool)’: /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error: expected type-specifier /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error: cannot convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:38: error: expected ‘,’ or ‘;’ /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp: In member function ‘virtual void KICCConfig::save()’: /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:359:37: error: expected type-specifier /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:359:37: error: cannot convert ‘int*’ to ‘KRandrSimpleAPI*’ in initialization /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:359:37: error: expected ‘,’ or ‘;’ make[2]: *** [kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o] Error 1 make[2]: Leaving directory `/home/david/arch/pkg/tbld/kdebase/src' make[1]: *** [kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/all] Error 2 make[1]: Leaving directory `/home/david/arch/pkg/tbld/kdebase/src' make: *** [all] Error 2 Aborting... Solving this type of build issue, I will need a bit of expertise from the list. I have googled until I'm blue trying to find a trick to get past these issues, but I'm stuck. Any ideas from the cpp/cmake/make experts? Even narrowing down what I need to look for will help. Current PKGBUILDs for tqtinterface, arts, kdelibs and the current one I'm using for kdebase are available on the wiki: https://wiki.archlinux.org/index.php/Trinity#Trinity_PKGBUILDs Thanks. -- David C. Rankin, J.D.,P.E.