trinity-users@lists.pearsoncomputing.net

Message: previous - next
Month: February 2011

Re: [trinity-users] kdebase make failure if Qt4 installed, QtCore/qfile.h QT_BEGIN_HEADER doesn't name type

From: "David C. Rankin" <drankinatty@...>
Date: Fri, 04 Feb 2011 13:14:19 -0600
On 02/03/2011 10:29 PM, David C. Rankin wrote:
> 
<snip>
> But even with these variables, the build grabs QtCore regardless. 
> 
> 

Serghei,

	Looking closer, the kdebase admin/acinclude.m4.in may be part of the problem.
It seems to check for kde4 first and then sets QTDIR to qt4 if found before
checking for kde3:

12:54 archangel:/dat_e/david/bld/trinity/kdebase> grep -r QTDIR *

admin/acinclude.m4.in:dnl in $QTDIR/bin, and some more usual places
admin/acinclude.m4.in:  kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
admin/acinclude.m4.in:  kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt
/usr/share/qt3 /usr/lib${kdelibsuff}/qt-3.3"
admin/acinclude.m4.in:   kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
admin/acinclude.m4.in:   kde_qt_dirs="$QTDIR /usr/lib/qt"
admin/acinclude.m4.in:AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html
$QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc
/usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3
/usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ],
QTDOCDIR)

The actual tests are:

if test $kde_qtver = 4; then
  kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
fi
if test $kde_qtver = 3; then
  kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3
/usr/lib${kdelibsuff}/qt-3.3"
  if test -z "$PKG_CONFIG"; then
      AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  fi
  if test "$PKG_CONFIG" != "no" ; then
    if $PKG_CONFIG --exists qt-mt ; then
       kde_qt_dirs="$kde_qt_dirs `$PKG_CONFIG --variable=prefix qt-mt`"
    fi
  fi
fi

Could this be one of the issues?

  Even with -DQTDIR=/opt/qt, the build on boxes with kde4 installed still fails
for the same reason:

[ 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...


-- 
David C. Rankin, J.D.,P.E.