trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2012

Re: [trinity-devel] tdelibs FTBFS with tqt3

From: Darrell Anderson <humanreadable@...>
Date: Tue, 24 Jan 2012 10:30:13 -0800 (PST)
> > You're skipping some steps here.
> :) Make sure TQT_REAL_TQT is set where?
> 
> Make sure that it is set to 1 via a #define
> 
> > Where and how do I check?
> 
> One way would be to select a failing C++ file and insert the
> following
> block after all the #include statements:
> 
> #ifdef TQT_REAL_TQT
> #error TQT_REAL_TQT is SET
> #else
> #error TQT_REAL_TQT is NOT set
> #endif

I like to troubleshoot build failures in single processor mode (NUMJOBS=-j1) because that helps expose the first error.

My tdelibs build with tqt3 always fails with this message:

In file included from /dev/shm/tdelibs/dcop/dcopclient.cpp:2288:
/dev/shm/tdelibs.build/dcop/dcopclient.moc:121: error: ISO C++ forbids declaration of 'QCString' with no type
/dev/shm/tdelibs.build/dcop/dcopclient.moc:121: error: expected ',' or '...' before '&' token
/dev/shm/tdelibs.build/dcop/dcopclient.moc:121: error: prototype for 'void DCOPClient::applicationRegistered(int)' does not match any in class 'DCOPClient'
/dev/shm/tdelibs/dcop/dcopclient.h:748: error: candidate is: void DCOPClient::applicationRegistered(const TQCString&)
/dev/shm/tdelibs.build/dcop/dcopclient.moc:134: error: ISO C++ forbids declaration of 'QCString' with no type
/dev/shm/tdelibs.build/dcop/dcopclient.moc:134: error: expected ',' or '...' before '&' token
/dev/shm/tdelibs.build/dcop/dcopclient.moc:134: error: prototype for 'void DCOPClient::applicationRemoved(int)' does not match any in class 'DCOPClient'
/dev/shm/tdelibs/dcop/dcopclient.h:757: error: candidate is: void DCOPClient::applicationRemoved(const TQCString&)

dcopclient.cpp:2288 contains the following:

#include <dcopclient.moc>

So the failure is in that moc file. I don't pretend to understand moc files (yet), but I believe the moc files are created by the qt3 compiler.

I can bypass these dcopclient related errors by commenting out the add_subdirectory( dcop ) directive in CMakeLists.txt. Then I run into a similar error message set:

In file included from /dev/shm/tdelibs/tdefx/kstyle.cpp:2370:
/dev/shm/tdelibs.build/tdefx/kstyle.moc: In static member function 'static TQMetaObject* KStyle::staticMetaObject()':
/dev/shm/tdelibs.build/tdefx/kstyle.moc:54: error: 'QCommonStyle' has not been declared
/dev/shm/tdelibs.build/tdefx/kstyle.moc: In member function 'virtual void* KStyle::qt_cast(const char*)':
/dev/shm/tdelibs.build/tdefx/kstyle.moc:72: error: 'QCommonStyle' has not been declared
/dev/shm/tdelibs.build/tdefx/kstyle.moc: In member function 'virtual bool KStyle::qt_invoke(int, TQUObject*)':
/dev/shm/tdelibs.build/tdefx/kstyle.moc:77: error: 'QCommonStyle' has not been declared
/dev/shm/tdelibs.build/tdefx/kstyle.moc: In member function 'virtual bool KStyle::qt_emit(int, TQUObject*)':
/dev/shm/tdelibs.build/tdefx/kstyle.moc:82: error: 'QCommonStyle' has not been declared
/dev/shm/tdelibs.build/tdefx/kstyle.moc: In member function 'virtual bool KStyle::qt_property(int, int, TQVariant*)':
/dev/shm/tdelibs.build/tdefx/kstyle.moc:88: error: 'QCommonStyle' has not been declared
make[2]: *** [tdefx/CMakeFiles/tdefx-shared.dir/kstyle.cpp.o] Error 1

kstyle.cpp:2370 contains #include "kstyle.moc". So once again the problem is a moc file.

I removed Qt4 from the build environment so that is not the problem.

Darrell