Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.0 RC
-
None
-
e9c2a363cb2baf16763112c9fb13e8eda323bb45
Description
I'm cross compiling Qt for various platforms/archs.
The license check is failing on 32bit platforms like:
# uname -a Linux sw142-32bit 4.4.38-smp #1 SMP Sun Dec 11 17:35:44 CST 2016 i686 Common 32-bit KVM processor GenuineIntel GNU/Linux
The output I get:
+ cd /tmp/qt-5.9.0-32bit_generic + ./configure -release -commercial -confirm-license -device-option CROSS_COMPILE=/usr/bin/ -sysroot / -xplatform devices/linux-nuc-g++ -make libs -make tools -skip qtwebengine -prefix /usr/local -libdir /usr/local/lib -sql-sqlite -opengl es2 -alsa -cups -icu -dbus -openssl -xcb -eglfs -kms -qpa eglfs -v + cd qtbase + /tmp/qt-5.9.0-32bit_generic/qtbase/configure -top-level -release -commercial -confirm-license -device-option CROSS_COMPILE=/usr/bin/ -sysroot / -xplatform devices/linux-nuc-g++ -make libs -make tools -skip qtwebengine -prefix /usr/local -libdir /usr/local/lib -sql-sqlite -opengl es2 -alsa -cups -icu -dbus -openssl -xcb -eglfs -kms -qpa eglfs -v Creating qmake... gmake: Nothing to be done for 'first'. Command line: -release -commercial -confirm-license -device-option CROSS_COMPILE=/usr/bin/ -sysroot / -xplatform devices/linux-nuc-g++ -make libs -make tools -skip qtwebengine -prefix /usr/local -libdir /usr/local/lib -sql-sqlite -opengl es2 -alsa -cups -icu -dbus -openssl -xcb -eglfs -kms -qpa eglfs -v + /tmp/qt-5.9.0-32bit_generic/qtbase/bin/licheck64 yes /tmp/qt-5.9.0-32bit_generic/qtbase /tmp/qt-5.9.0-32bit_generic/qtbase linux-g++ devices/linux-nuc-g++ > sh: /tmp/qt-5.9.0-32bit_generic/qtbase/bin/licheck64: cannot execute binary file: Exec format error Note: Also available for Linux: linux-clang linux-icc ERROR: You are not licensed to use this software. + exit 1
So, allthough the platform is 32bit, licheck64 gets called, which fails, which then is interpreted as 'no license'.
The only location licheck64 is mentioned is in qtbase/configure.pri:143
The test that should conclude 'I'm running on 32bits' looks like this:
equals(QMAKE_HOST.arch, x86):
The value of QMAKE_HOST.arch in my case is "i686"