Configuration on the autobuilder has been changed recently so that builds are done in a different order. From the logs at least it appears that the Qt3 build is attempting to use Qt3Support headers from Qt4, which it should not be doing: http://autobuilder.yoctoproject.org:8010/builders/nightly-arm/builds/206/steps/shell_67/logs/stdio in particular: --------------------------------------------------------- | ccache arm-poky-linux-gnueabi-g++ -march=armv5te -mno-thumb -mthumb-interwork -mtune=arm926ej-s --sysroot=/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm -c -pipe -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include/freetype2 -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include/mysql -fPIC -Wall -W -O2 -D_REENTRANT -DDESIGNER -DQT_INTERNAL_XML -DQT_INTERNAL_WORKSPACE -DQT_INTERNAL_ICONVIEW -DQT_INTERNAL_TABLE -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/x86_64-linux/usr/share/qmake/linux-gnueabi-oe-g++ -I. -I../shared -I../uilib -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include/freetype2 -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include -I/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm/usr/include/freetype2 -I../../../include -I/usr/X11R6/include -I.moc/release-shared-mt/ -o ./listvieweditorimpl.o listvieweditorimpl.cpp | In file included from actioneditorimpl.h:30:0, | from command.cpp:35: | actioneditor.h:8:27: fatal error: QtCore/QVariant: No such file or directory | compilation terminated. | make[2]: *** [command.o] Error 1 | make[2]: *** Waiting for unfinished jobs.... | In file included from listboxeditorimpl.h:33:0, | from listboxeditorimpl.cpp:27: | listboxeditor.h:7:42: fatal error: Qt3Support/Q3MimeSourceFactory: No such file or directory | compilation terminated. | In file included from newformimpl.h:30:0, | from newformimpl.cpp:27: | newform.h:7:42: fatal error: Qt3Support/Q3MimeSourceFactory: No such file or directory | compilation terminated. --------------------------------------------------------- It should be possible to build these independently in any order as long as include and library paths are correct.
I've reproduced this locally - you have to do the following: 1. bitbake qt-x11-free-native 2. bitbake qt4-native 3. bitbake qt-x11-free The issue is conflicting moc/uic executables in the sysroot between Qt3 and Qt4, so that incorrect includes get added to the source files that these tools create. uic*/moc need to be moved/renamed so that they can coexist and yet apps can still find the right one.
Have posted a fix for this to the yocto mailing list.
Fix has been merged into meta-qt3 (commit id 016ed1af2a0986cd90bdd073091537d954588813).
Verified with 1.2 M1 RC2 20111213 build. Tree/Branch: poky/1.2_M1 Poky Commit: b806f726b1db2cb605869c1022ef727c1110255b meta-qt3 commit: 0c3153242344e5113a50002939d36a2b739cc497