Version: 3.96.2 (using KDE KDE 3.96.0) Installed from: Compiled From Sources Compiler: gcc-4.2.2 OS: Linux when trying to compile kdeutils-3.96.2, I get the following error: [ 15%] Generating kbytearrayedit_automoc.cpp Generating kbytearrayedit.moc /usr/src/kdeutils-3.96.2/khexedit/parts/kbytesedit/kbytearrayedit.h:49: Error: Undefined interface kde4automoc: process for /usr/src/kdeutils-3.96.2/build/khexedit/parts/kbytesedit/kbytearrayedit.moc failed: Unknown error pid to wait for: 0 processes in queue: 0 returning failed.. make[2]: *** [khexedit/parts/kbytesedit/kbytearrayedit_automoc.cpp] Error 1
Created attachment 22431 [details] full compile log
Hi Treeve, thanks for the report. Seems like your KDE4 install is broken, you also miss at least another file from kdelibs/interfaces. See in the log for /usr/src/kdeutils-3.96.2/kregexpeditor/kregexpeditorgui.h:40: Error: Undefined interface Could you report the outcome of ls /opt/include/khexedit/ /opt/include/kregexpeditorinterface.h please? Both dir and file should be installed. Just checked, they are with a very recent version of kdelibs (3.96.3). So I cannot confirm your bug. Please reinstall kdelibs, try again and tell if it works, thanks.
$ ls -l /opt/include/khexedit/ total 28 -rw-r--r-- 1 root root 6685 2007-12-03 20:48 byteseditinterface.h -rw-r--r-- 1 root root 3656 2007-12-03 20:48 charcolumninterface.h -rw-r--r-- 1 root root 3191 2007-12-03 20:48 clipboardinterface.h -rw-r--r-- 1 root root 5543 2007-12-03 20:48 valuecolumninterface.h -rw-r--r-- 1 root root 2582 2007-12-03 20:48 zoominterface.h $ ls -l /opt/include/kregexpeditorinterface.h -rw-r--r-- 1 root root 5376 2007-12-03 20:48 /opt/include/kregexpeditorinterface.h compile still fails. I will try again with 3.97 in a couple of days time by the way, I also have kdelibs-3.5.8, which installs to /usr/include, on this. machine. Could it be a problem of finding the wrong version of the include files?
So the needed files are in place. Well. And it would surprise me if the include files only get mixed up for these interface classes. Please check with "make VERBOSE=1" in what order the include files and which are passed to the compiler.
Created attachment 22455 [details] verbose build log could the fact that this is a dual processor machine make any difference?
*** Bug 153709 has been marked as a duplicate of this bug. ***
No idea how a dual processor might be in they way. It looks that the moc (and not the compiler) just misses the right header files. I see from googling your are struggling for longer with this problem. Thanks for the other log. It is just that the part about the moc call is not verbose enough. kde4automoc is too silent by nature. Everything else builds, so the other include files are found by the compiler. Please find the file kregexpeditorgui_automoc.cpp.files in the build dir and report the lines behind "MOC_INCLUDES:". Is /opt/include/ there as well?
I sometimes had problems with moc files not being updated (I don't find the bug number). This might help: make clean && rm *.moc && make
less kregexpeditor/kregexpeditorgui_automoc.cpp.files MOC_INCLUDES: /usr/src/kdeutils-3.97.0;/usr/src/kdeutils-3.97.0/build; /usr/include;/usr/include/Qt;/usr/share/qt4/mkspecs/default; /usr/include/QtCore;/usr/include/QtGui;/usr/include/Qt3Support; /usr/include/QtAssistant;/usr/include/QtDesigner;/usr/include/QtNetwork; /usr/include/QtOpenGL;/usr/include/QtSql;/usr/include/QtXml; /usr/include/QtSvg;/usr/include/QtScript;/usr/include/QtUiTools; /usr/include/QtTest;/usr/include/QtDBus; /opt/include;/opt/include/KDE; /usr/src/kdeutils-3.97.0/kregexpeditor/KWidgetStreamer; /usr/src/kdeutils-3.97.0/kregexpeditor/KMultiFormListBox does the fact that /usr/include comes before /opt/include make any difference? I manually moved /usr/include to be the last entry and everything compiles oK!
Yes, so it is a problem with the wrong headers. Sorry, looks like your setup doesn't work, that is, if Qt4 top include dir == KDE3 top include dir. No idea, if KDE3 headers should be directly in /usr/include anyway, will clash with any other version, better to have them in a separate dir, e.g. /usr/include/kde3. Still I wonder why the /usr/include doesn't get passed to the compiler also for the examples in your log file. Here cmake seems to be smarter than it is done in FindQt4.cmake. There simply all include dirs used in the whole module are passed as include dirs for every file to be moc'ed. Pretty broad approach. But then these might also be the same for some source file. Cmp. MACRO (QT4_GET_MOC_INC_DIRS _moc_INC_DIRS) Were there no other problems for your build? There should have been. So closing as INVALID.