Cross-building broken in qt 5.2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cmake (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
qtbase-opensource-src (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Since the 5.2 upgrade, cross-builds with CMake fail as following:
----8<----
CMake Error at /usr/lib/
The imported target "Qt5::Core" references the file
"/
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/
but not all the files it references.
---->8----
The reason seems to be that the mkspecs files are new in 5.2, and are looked up for in host multiarch dir instead of build.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: qtbase5-dev 5.2.1+dfsg-1ubuntu9
ProcVersionSign
Uname: Linux 3.13.0-18-generic x86_64
NonfreeKernelMo
ApportVersion: 2.13.3-0ubuntu1
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Mar 18 16:41:40 2014
SourcePackage: qtbase-
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- PS Jenkins bot: Approve (continuous-integration)
- Timo Jyrinki: Approve
- Kubuntu Packagers: Pending requested
-
Diff: 27 lines (+8/-1)2 files modifieddebian/changelog (+7/-0)
debian/control (+1/-1)
tags: | added: patch |
The first fix is to make qt5-qmake M-A: Same. That's in the landing-001 PPA currently.
Then you discover that cmake is looking for uic and some other tools in the host arch location instead of the build arch one. That can be fixed in cmake by extending the MultiArchCross. cmake file to cover these files too.