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.
On Thursday 03 February 2011 20:13:23 David C. Rankin wrote:
Well,
We are making progress. kdebase built through 30% and then died with the following:
[...]
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:
I think you built kdelibs without xrandr support (probably xrandr devel package are not installed).
[...]
On 02/03/2011 12:34 PM, Serghei Amelian wrote:
On Thursday 03 February 2011 20:13:23 David C. Rankin wrote:
Well,
We are making progress. kdebase built through 30% and then died with the following:
[...]
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:
I think you built kdelibs without xrandr support (probably xrandr devel package are not installed).
[...]
Thanks Serghei,
I've checked ./configure --help for kdelibs and it doesn't accept a xrandr option. I've checked the packages installed and I've got:
13:46 dcrgx2:~/arch/pkg/tbld/kdelibs> pmq | grep randr libxrandr 1.3.1-1 randrproto 1.3.2-1 xorg-xrandr 1.3.4-1
That looks like all the relevant packages for Arch Linux:
15:09 dcrgx2:~/arch/pkg/tbld/kdelibs> s2l randr libxrandr X11 RandR extension library randrproto X11 RandR extension wire protocol xorg-xbacklight RandR-based backlight control application xorg-xrandr Primitive command line interface to RandR extension arandr Provide a simple visual front end for XRandR 1.2. lxrandr Monitor configuration tool (part of LXDE
Checking the actual files installed:
15:11 dcrgx2:~/arch/pkg/tnotes> pmql xorg-xrandr xorg-xrandr /usr/bin/xrandr xorg-xrandr /usr/share/licenses/xorg-xrandr/COPYING xorg-xrandr /usr/share/man/man1/xrandr.1.gz
15:11 dcrgx2:~/arch/pkg/tnotes> pmql libxrandr libxrandr /usr/include/X11/extensions/Xrandr.h libxrandr /usr/lib/libXrandr.a libxrandr /usr/lib/libXrandr.so libxrandr /usr/lib/libXrandr.so.2 libxrandr /usr/lib/libXrandr.so.2.2.0 libxrandr /usr/lib/pkgconfig/ libxrandr /usr/lib/pkgconfig/xrandr.pc libxrandr /usr/share/licenses/libxrandr/COPYING libxrandr /usr/share/man/man3/XRRConfigCurrentConfiguration.3.gz <snip>
You see anything missing?
On Thursday 03 February 2011 23:13:37 David C. Rankin wrote:
On 02/03/2011 12:34 PM, Serghei Amelian wrote:
On Thursday 03 February 2011 20:13:23 David C. Rankin wrote:
Well,
We are making progress. kdebase built through 30% and then died with the following:
[...]
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:3 8: error: expected type-specifier /home/david/arch/pkg/tbld/kdebase/kcontrol/iccconfig/iccconfig.cpp:289:3 8:
I think you built kdelibs without xrandr support (probably xrandr devel package are not installed).
[...]
Thanks Serghei,
I've checked ./configure --help for kdelibs and it doesn't accept a xrandr option. I've checked the packages installed and I've got:
Try to decide what you want to use, autotools or cmake :)
[..]
On 02/03/2011 03:17 PM, Serghei Amelian wrote:
Try to decide what you want to use, autotools or cmake :)
[..]
That might be the issue. I guess I've been blindly following the trinity HowToBuild which I read to say if there is a trinity/<module>/admin, then
(1) copy the autotools and make the Makefile.common:
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
then configure
(2) then cmake
(3) then make,
(4) then make install
So what your saying is
"Hey dummy, if there is a CMakeList.txt, don't do step (1), just use cmake!" :)
I can see how cmake might get confused if I ran the autoconf tools first...
Thank you again Serghei.