[Development] Harmattan - broken qmake

Laszlo Papp lpapp at kde.org
Thu Sep 27 20:46:57 CEST 2012


> Can you do what it says?

I have spent a couple of hours with figuring this problem out, and it
seems the following change in qmake has made the build policy about
errors stricter:
https://codereview.qt-project.org/#change,35183

I think this change is actually a good idea, so I do not blame Ossi.
:-) However my concern was that this reveals a previously seen error
more straight-forwardly:

"Project ERROR: CROSS_COMPILE needs to be set via -device-option
CROSS_COMPILE=<path>
Could not read qmake configuration file
/usr/src/packages/BUILD/mkspecs/devices/linux-maemo-n9-g++/qmake.conf."

Then I have tried to pay attention to Thiago's suggestion and that
indeed seems to prove the assumption:

https://build.pub.meego.com/package/live_build_log?arch=armv7el&package=qt5-base&project=home%3Arzr%3Aharmattan&repository=MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_standard

Current situation
* Maemo mkspecs file: harcoded toolchain name as for now.
* N9 device mkspecs file: toolchain prefixed with the CROSS_COMPILE
variable which is empty in scratchbox, but that was intentional in
environments like scratchbox

Requirement
I believe we need to have a way of building Qt the same way in
scratchbox, native environment, and things like Madde.

Alternatives
 * Smart automated CROSS_COMPILE variable detection provided nothing
is issued explicitely to the "configure" script. If the automated
detection failed based on "sysroot" and so forth, then the error would
for sure remain. This would very well fit into the bigger picture to
solve any cross-platform development related issues as this issue is
in fact not any Harmattan/MeeGo specific. Although this is a bit
intrusive change in the configure script most likely.

* new mkspecs file introduction (like
linux-maemo-scratchbox/native-g++ or something similar). I do not
think this is a nice way.

Workaround
The current workaround is to make the packaging scratchbox and native
builds specific, but it is a bit nasty. I do not have any pragmatic
workaround that would be better than that for now.

It is just a brain dump of mine (perhaps not even the best organized),
so as usual, any remark is welcome. :-)

Laszlo



More information about the Development mailing list