Well,
We are making progress. kdebase built through 30% and then died with the following:
[ 30%] Generating iccconfig_skel.cpp Scanning dependencies of target kcm_iccconfig-module [ 30%] Building CXX object kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/iccconfig.cpp.o /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[1]: *** [kcontrol/iccconfig/CMakeFiles/kcm_iccconfig-module.dir/all] Error 2 make: *** [all] Error 2 Aborting...
I have no idea what that means. (except it wanted a comma or semi-colon and didn't get it ;-)
Progress on this box was ONLY possible because KDE4/Qt4 was NOT installed. On boxes where kde4/Qt4 is installed, the kdebase build fails here:
[ 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/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[1]: *** [kicker/libkicker/CMakeFiles/kickermain-shared.dir/all] Error 2 make: *** [all] Error 2 Aborting...
So how do I tell the build to ignore /usr/include/QtCore? Is this something that needs fixing in the code? I have tried to tell cmake to only use /opt and I have set my path accordingly:
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
msg "Configuring autotools and Creating Makefile.common" cd ${startdir} cp -Rp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in cp -Rp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh make -f admin/Makefile.common
# set --enable-closure configure option if needed (needed for kdebase) trinity_prefix="/opt/trinity" ./configure --prefix=${trinity_prefix} \ --includedir=${trinity_prefix}/include/kde \ --mandir=${trinity_prefix}/share/man \ --infodir=${trinity_prefix}/share/info \ --with-extra-libs=${trinity_prefix}/lib \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=${trinity_prefix}/lib/kdebase-kde3 \ --disable-rpath \ --with-xinerama \ --with-qt-dir=/opt/qt \ --with-qt-includes=/opt/qt/include \ --with-qt-libraries=/opt/qt/lib \ --with-extra-includes=/opt/qt/include/tqt \ --enable-closure
cd ${srcdir} cmake ../ \ -DCMAKE_INSTALL_PREFIX=${trinity_prefix} \ -DWITH_QT3=ON \ -DBUILD_ALL=ON \ -DCMAKE_SKIP_RPATH=ON make || return 1 }
So I'm not sure what to do to keep the build from looking at Qt4. I have several boxes to build on. The current box I'm using (the one that made it to 30%) is an i686 with only kde3, gnome, and fluxbox on it. I was still getting cmake messages like:
/opt/trinity/lib/kde3/plugins/designer/kdewidgets.so: Feature KWritePermsIcon already defined in /opt/kde/lib/kde3/plugins/designer/kdewidgets.so!
so I have removed kde3 from the box completely and I'm starting over.
Any thoughts welcome. Let me know if I need to file something on the iccconfig.cpp issue. Thanks.