Bug 1810 - Qt3 build attempts to use files from Qt4 and fails
Summary: Qt3 build attempts to use files from Qt4 and fails
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: unspecified
Hardware: Other Multiple
: High major
Target Milestone: 1.2 M1
Assignee: Paul Eggleton
QA Contact:
URL:
Whiteboard: Fix posted for review (8 Dec)
Depends on:
Blocks:
 
Reported: 2011-12-07 06:32 UTC by Paul Eggleton
Modified: 2011-12-15 23:17 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Eggleton 2011-12-07 06:32:43 UTC
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.
Comment 1 Paul Eggleton 2011-12-08 08:44:09 UTC
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.
Comment 2 Paul Eggleton 2011-12-08 11:58:09 UTC
Have posted a fix for this to the yocto mailing list.
Comment 3 Paul Eggleton 2011-12-09 08:36:28 UTC
Fix has been merged into meta-qt3 (commit id 016ed1af2a0986cd90bdd073091537d954588813).
Comment 4 Yi Zhao 2011-12-15 23:17:20 UTC
Verified with 1.2 M1 RC2 20111213 build. 

Tree/Branch: poky/1.2_M1
Poky Commit: b806f726b1db2cb605869c1022ef727c1110255b

meta-qt3 commit: 0c3153242344e5113a50002939d36a2b739cc497