trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: February 2012

Re: [trinity-devel] tdelibs and tqtinterface FTBFS with tqt3

From: Francois Andriot <francois.andriot@...>
Date: Fri, 17 Feb 2012 22:21:13 +0100
Le 17/02/2012 21:59, Darrell Anderson a écrit :
> I addressed this issue previously in bug report 816. Seems the bug still exists.
>
> Here is the relevant tdelibs failure:
>
> =======================================================
> [  1%] Building CXX object dcop/CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o
> cd /dev/shm/tdelibs.build/dcop&&  /usr/bin/c++   -DDCOP_shared_EXPORTS -DHAVE_CONFIG_H -O2 -march=i486 -mtune=i686 -fvisibility=hidden -fvisibility-inlines-hidden  -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -fPIC -I/opt/trinity/include -I/usr/include/tqt -I/dev/shm/tdelibs.build/dcop -I/dev/shm/tdelibs.build -I/dev/shm/tdelibs/dcop -I/dev/shm/tdelibs.build/tdecore -I/dev/shm/tdelibs/tdecore   -o CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o -c /dev/shm/tdelibs/dcop/dcopclient.cpp
> /dev/shm/tdelibs/dcop/dcopclient.cpp: In member function 'bool DCOPClient::attachInternal(bool)':
> /dev/shm/tdelibs/dcop/dcopclient.cpp:785: error: 'qint64' was not declared in this scope
> /dev/shm/tdelibs/dcop/dcopclient.cpp:785: error: expected ')' before numeric constant
> /dev/shm/tdelibs/dcop/dcopclient.cpp:785: error: expected ')' before ';' token
> make[2]: *** [dcop/CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o] Error 1
> make[2]: Leaving directory `/dev/shm/tdelibs.build'
> make[1]: *** [dcop/CMakeFiles/DCOP-shared.dir/all] Error 2
> make[1]: Leaving directory `/dev/shm/tdelibs.build'
> make: *** [all] Error 2
> =======================================================

Hello, I too have FTBFS while building tdelibs from GIT using TQT3.
Please note that, unlike the wiki says, I've built TQT3 to install under 
/usr, so that it can live alongside with QT4.
I've just looked at the "rules" script from ubuntu package to get my 
TQT3 package to work correctly under Fedora, it looks like ubuntu 
already builds TQT3 under /usr .
I had no problem to build tqtinterface with the resulting TQT3.

Here is a relevant error on tdelibs:

/usr/include/tqt3/ntqobjectdefs.h:103:0: warning: "Q_OBJECT" redefined 
[enabled by default]
/usr/include/tqt/tqt.h:70:0: note: this is the location of the previous 
definition
In file included from 
/home/albator/rpmbuild/BUILD/BUILD.fc16.x86_64/tdelibs/tdefx/kstyle.cpp:30:0:
/home/albator/rpmbuild/BUILD/BUILD.fc16.x86_64/tdelibs/tdefx/kstyle.h:60:2: 
error: 'TQ_OBJECT' does not name a type
In file included from 
/home/albator/rpmbuild/BUILD/BUILD.fc16.x86_64/tdelibs/tdefx/kstyle.cpp:30:0:

I can confirm that, when using the TQT3/tqtinterface combination, the 
TQ_OBJECT macro is never defined, as are many other macros, that are 
disabled in "/usr/include/tqt/tqt.h" when TQT_REAL_TQT is defined.

I do not know if either TQT3 or TQTInterface should be modified to set 
the correct macros.

Francois


> tqt3, tqtinterface, arts, dbus-tqt, dbus-1-tqt, tqca-tls, libart_lgpl built without error. However, I need to patch tqtinterface to build with tqt3. Refer to bug report 816 for the patch.
>
> Here are the relevant failures when I build tqtinterface with tqt3 and without my patch:
>
> =======================================================
> /dev/shm/tqtinterface.build/qtinterface/tqt.h:56:21: error: qglobal.h: No such file or directory
> /dev/shm/tqtinterface/qtinterface/interface_qt3/tqassistantclient.h:29:30: error: qassistantclient.h: No such file or directory
>
> /dev/shm/tqtinterface.build/qtinterface/tqt.h:56:21: error: qglobal.h: No such file or directory
> /dev/shm/tqtinterface/qtinterface/interface_qt3/tqassistantclient.h:29:30: error: qassistantclient.h: No such file or directory
> =======================================================
>
> As mentioned in bug report 816, the tqtinterface errors are a result of limiting the cmake logic to searching only /usr/ for tqt3 include files. My feeble patch avoids that limitation and allows tqtinterface to build against tqt3, but tdelibs will not build.
>
> These build issues do not appear with qt3.
>
> Darrell