trinity-users@lists.pearsoncomputing.net

Message: previous - next
Month: February 2011

kdebase make failure: iccconfig.cpp:359:37: error: expected ‘,’ or ‘;’

From: "David C. Rankin" <drankinatty@...>
Date: Thu, 03 Feb 2011 12:13:23 -0600
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.