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.
--
David C. Rankin, J.D.,P.E.