I just posted a tdelibs FTBFS error a few messages back. I decided to run the build again with NUMJOBS=-j1. This time I did not receive the same tdelfeditor errors. This time I received the following errors:
================================================= In file included from /dev/shm/tdelibs/dcop/dcopclient.cpp:2285: /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:745: 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:754: error: candidate is: void DCOPClient::applicationRemoved(const TQCString&) /dev/shm/tdelibs.build/dcop/dcopclient.moc:166: error: ISO C++ forbids declaration of 'QCString' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:166: error: expected ',' or '...' before '&' token /dev/shm/tdelibs.build/dcop/dcopclient.moc:166: error: prototype for 'void DCOPClient::callBack(int, int)' does not match any in class 'DCOPClient' /dev/shm/tdelibs/dcop/dcopclient.h:794: error: candidate is: void DCOPClient::callBack(int, const TQCString&, const TQByteArray&) /dev/shm/tdelibs.build/dcop/dcopclient.moc: In member function 'virtual bool DCOPClient::qt_emit(int, TQUObject*)': /dev/shm/tdelibs.build/dcop/dcopclient.moc:196: error: ISO C++ forbids declaration of 'type name' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:196: error: ISO C++ forbids declaration of 'type name' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:196: error: expected primary-expression before 'const' /dev/shm/tdelibs.build/dcop/dcopclient.moc:196: error: expected ')' before 'const' /dev/shm/tdelibs.build/dcop/dcopclient.moc:197: error: ISO C++ forbids declaration of 'type name' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:197: error: ISO C++ forbids declaration of 'type name' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:197: error: expected primary-expression before 'const' /dev/shm/tdelibs.build/dcop/dcopclient.moc:197: error: expected ')' before 'const' /dev/shm/tdelibs.build/dcop/dcopclient.moc:200: error: ISO C++ forbids declaration of 'type name' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:200: error: ISO C++ forbids declaration of 'type name' with no type /dev/shm/tdelibs.build/dcop/dcopclient.moc:200: error: expected primary-expression before 'const' /dev/shm/tdelibs.build/dcop/dcopclient.moc:200: error: expected ')' before 'const' 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 =================================================
tdelibs/dcop/dcopclient.cpp:2285:
#include <dcopclient.moc>
I don't know anything yet about moc files. Would somebody provide a short course while I'm looking through the web to learn more?
I'm thinking the errors mean tqt3 and tqtinterface might not be building or installing correctly because there should not be any references to QString. They should be TQString.
Both tqt3 and tqtinterface built without errors.
Darrell
I just posted a tdelibs FTBFS error a few messages back. I decided to run the build again with NUMJOBS=-j1. This time I did not receive the same tdelfeditor errors. This time I received the following errors:
<snip>
Make sure that CMake detected native TQt3 during the initial stages of the build. Also make sure that you are not executing some other moc binary, e.g. from Qt3 or Qt4.
Tim
I just posted a tdelibs FTBFS
error a few messages back. I decided to run
the build again with NUMJOBS=-j1. This time I did not
receive the same
tdelfeditor errors. This time I received the following
errors:
<snip>
Make sure that CMake detected native TQt3 during the initial stages of the build. Also make sure that you are not executing some other moc binary, e.g. from Qt3 or Qt4.
Okay, but I'm not sure what you seek. From the tdelibs build log:
-- checking for one of the modules 'tqt' -- tmoc path: /usr/bin/tmoc -- moc path: /opt/trinity/lib/tqt3-R14.0.0/bin/moc -- uic path: /opt/trinity/lib/tqt3-R14.0.0/bin/uic
I installed tqt3 /opt/trinity. I installed tqtinterface to /usr.
When I run in parallel build mode, in addition to the previous errors, I see this:
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 cd /dev/shm/tdelibs.build/tdecore && /usr/bin/cmake -E cmake_symlink_library libtdefakes.so.4.2.0 libtdefakes.so.4 libtdefakes.so
Darrell
I just posted a tdelibs FTBFS
error a few messages back. I decided to run
the build again with NUMJOBS=-j1. This time I did not
receive the same
tdelfeditor errors. This time I received the following
errors:
<snip>
Make sure that CMake detected native TQt3 during the initial stages of the build. Also make sure that you are not executing some other moc binary, e.g. from Qt3 or Qt4.
Okay, but I'm not sure what you seek. From the tdelibs build log:
-- checking for one of the modules 'tqt' -- tmoc path: /usr/bin/tmoc -- moc path: /opt/trinity/lib/tqt3-R14.0.0/bin/moc -- uic path: /opt/trinity/lib/tqt3-R14.0.0/bin/uic
I installed tqt3 /opt/trinity. I installed tqtinterface to /usr.
What does /usr/bin/tmoc contain? Also, where does "whereis moc" show on your build system?
Tim
What does /usr/bin/tmoc contain?
#!/bin/bash
# # Very simple moc wrapper, for using with cmake #
if [ -f /usr/bin/tqt-replace-stream ]; then if [ -z "$1" ]; then echo "Usage: tmoc <input_file> -o <out_file>" else input_file="$1" out_file="$3" /usr/bin/tqt-replace-stream "${input_file}" | \ /opt/trinity/lib/tqt3-R14.0.0/bin/moc | \ sed "/#include <qmetaobject.h>/ i #undef QT_NO_COMPAT\n#include "${input_file}"" \ > "${out_file}" fi else echo "ERROR: /usr/bin/tqt-replace-stream is not available. tmoc will fail!" exit 1; fi
Also, where does "whereis moc" show on your build system?
whereis moc moc: /usr/bin/moc /usr/X11R6/bin/moc /usr/bin/X11/moc /usr/X11/bin/moc /opt/trinity/bin/moc
My build script environment variables:
PREFIX: /opt/trinity SYSCONFDIR: /etc/trinity LIBDIR: /opt/trinity/lib MANDIR: /opt/trinity/man QTDIR: /opt/trinity/lib/tqt3-R14.0.0 TQTDIR: /usr/include/tqt CMAKE_PREFIX_PATH: /opt/trinity/lib/tqt3-R14.0.0:/opt/trinity CMAKE_INCLUDE_PATH: /opt/trinity:/opt/trinity/lib/tqt3-R14.0.0/include:/usr/include/tqt CPLUS_INCLUDE_PATH: /opt/trinity/lib/tqt3-R14.0.0/include:/opt/trinity/include:/usr/include:/usr/include/tqt PKG_CONFIG_PATH: /opt/trinity/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/opt/trinity/lib/pkgconfig LD_LIBRARY_PATH: /opt/trinity/lib PATH: /opt/trinity/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/java/bin:/usr/share/texmf/bin:/opt/trinity/lib/tqt3-R14.0.0/bin
Darrell
Also, where does "whereis moc" show on your build system?
whereis moc moc: /usr/bin/moc /usr/X11R6/bin/moc /usr/bin/X11/moc /usr/X11/bin/moc /opt/trinity/bin/moc
I'm not sure how smart the build system is at the moment. Try symlinking /usr/bin/moc and /opt/trinity/bin/moc to the real TQt3 moc that is residing in /opt/trinity/lib/tqt3-R14.0.0/bin/moc. Remember to make clean before trying to rebuild, as the build system will not detect that the moc binary has changed and recreate the .moc files.
Tim
I'm not sure how smart the build system is at the moment. Try symlinking /usr/bin/moc and /opt/trinity/bin/moc to the real TQt3 moc that is residing in /opt/trinity/lib/tqt3-R14.0.0/bin/moc. Remember to make clean before trying to rebuild, as the build system will not detect that the moc binary has changed and recreate the .moc files.
I removed the Qt4 package. No more /usr/bin/moc.
/opt/trinity/bin/moc is already sym linked to /opt/trinity/lib/tqt3-R14.0.0/bin/moc.
Regarding make clean, why or where do I do that? I'm copying the files from my local GIT to $TMP and applying my patches there. I did not want to patch the GIT files. So every time my build script runs I am copying fresh from GIT.
Am I missing something?
Darrell
On Mon, 16 Jan 2012 12:09:22 -0800 (PST) Darrell Anderson humanreadable@yahoo.com wrote:
I'm not sure how smart the build system is at the moment. Try symlinking /usr/bin/moc and /opt/trinity/bin/moc to the real TQt3 moc that is residing in /opt/trinity/lib/tqt3-R14.0.0/bin/moc. Remember to make clean before trying to rebuild, as the build system will not detect that the moc binary has changed and recreate the .moc files.
I removed the Qt4 package. No more /usr/bin/moc.
/opt/trinity/bin/moc is already sym linked to /opt/trinity/lib/tqt3-R14.0.0/bin/moc.
Regarding make clean, why or where do I do that? I'm copying the files from my local GIT to $TMP and applying my patches there. I did not want to patch the GIT files. So every time my build script runs I am copying fresh from GIT.
Am I missing something?
If you patch files from your git repo you can: -execute "git diff" to generate the diff between the current state of the repo and the last committed change -execute "git checkout -- ." to reset all your changes so there should be no reason not to patch the local copy of the git repo (except to publish build scripts for final releases).
Darrell
To unsubscribe, e-mail: trinity-devel-unsubscribe@lists.pearsoncomputing.net For additional commands, e-mail: trinity-devel-help@lists.pearsoncomputing.net Read list messsages on the Web archive: http://trinity-devel.pearsoncomputing.net/ Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
If you patch files from your git repo you can: -execute "git diff" to generate the diff between the current state of the repo and the last committed change -execute "git checkout -- ." to reset all your changes so there should be no reason not to patch the local copy of the git repo (except to publish build scripts for final releases).
I'll give that a try.
Darrell
I'm not sure how smart the build system is at the moment. Try symlinking /usr/bin/moc and /opt/trinity/bin/moc to the real TQt3 moc that is residing in /opt/trinity/lib/tqt3-R14.0.0/bin/moc. Remember to make clean before trying to rebuild, as the build system will not detect that the moc binary has changed and recreate the .moc files.
I removed the Qt4 package. No more /usr/bin/moc.
/opt/trinity/bin/moc is already sym linked to /opt/trinity/lib/tqt3-R14.0.0/bin/moc.
Regarding make clean, why or where do I do that? I'm copying the files from my local GIT to $TMP and applying my patches there. I did not want to patch the GIT files. So every time my build script runs I am copying fresh from GIT.
Am I missing something?
My point was that you need to start clean with no generated .moc files in your build directory. It sounds like you are already doing that, so I would go ahead and start the compilation again.
Tim
Ok, things are clearer now, like mud. Ok, not mud --- dirty water. :)
* I can build tdelibs when I use qt3 but not with tqt3. Unless this is fixable here I'll submit another bug report.
* When I use qt3 and build tdelibs, I cannot use the silence_tdelfeditor.diff patch. The build fails almost immediately:
cd /opt/trinity/bin && if [[ -e tdelfeditor ]]; then ./tdelfeditor -m /dev/shm/tdelibs.build/dcop/dcopserver "dcopserver" "" "" "" "" "Trinity Desktop Environment" "" "" "01/16/2012 19:38:48" "dcopserver" "" || true fi /bin/sh: -c: line 1: syntax error: unexpected end of file make[2]: *** [dcop/dcopserver] Error 1 make[2]: Leaving directory `/dev/shm/tdelibs.build' make[1]: *** [dcop/CMakeFiles/dcopserver.dir/all] Error 2 make[1]: Leaving directory `/dev/shm/tdelibs.build' make: *** [all] Error 2
Notice the missing semi-colon between true and fi. This is a strange error because the patch has a semi-colon before the last "fi." I viewed the affected TDEMacros.cmake after the build script applied the patch and the semi-colons all were there. Something else stripped that missing semi-colon.
That patch is not hugely important because the messages seem harmless despite cluttering many "No such file or directory" statements throughout the build log. :(
* Those weird tdelfeditor messages appear with arts, dbus-1-tqt, and kdebase too, but not with dbus-tqt. If those messages are going to be quashed in tdelibs then those packages need a similar patch. Plus whatever other packages generate those messages. :)
* I cannot build tqca-tls with qt3. I presume then I will have to build the old qca packages. If we are going to support both tqt3 and qt3 in dependencies then perhaps we should support qca-tls as well as tqca-tls. But before grappling with that issue we should learn why tdelibs won't build with tqt3.
Regarding bug report 581: I still need the sym link to qglobal.h and I still need the TQT_INCLUDEDIR patch. Without the sym link or patch I receive the following error:
cc1: error: tqt.h: No such file or directory
Without the sym link but with the patch I receive the following error:
In file included from <command-line>:0: /usr/include/tqt/tqt.h:51:21: error: qglobal.h: No such file or directory
With the sym link but without the patch I receive the following error:
cc1: error: tqt.h: No such file or directory
In tqt.h I can see the preprocessor directive #include <qglobal.h>.
Here are my build environment variables for include headers:
CMAKE_INCLUDE_PATH: /opt/trinity:/opt/trinity/lib/qt3-R14.0.0/include:/usr/include/tqt CPLUS_INCLUDE_PATH: /opt/trinity/lib/qt3-R14.0.0/include:/opt/trinity/include:/usr/include:/usr/include/tqt
On my system qglobal.h is installed in /opt/trinity/lib/qt3-R14.0.0/include.
I had been creating a link to qglobal.h in /usr/include/tqt. I tried another experiment and linked qglobal.h in /usr/include. That got past the build failure too, but I still needed the patch.
A few posts ago I said I had removed the Qt4 package. After successfully building tdelibs and tdebase, although tdelibs still needs the patches, I restored Qt4 to my build system. I rebuilt the core packages again and remained with qt3 rather than tqt3. I again was able to build the core packages.
My apologies for the long post, but I'm hoping the information might help. In summary:
First, tqt3 seems to be part of my tdelibs build problems. My build script for tqt3 and qt3 are identical except for the 't'.
Second, to build tdelibs I need both the the sym link (in either /usr/include or /usr/include/tqt) and the patch.
Darrell