Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-61044

licheck fails on 32bit

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.9.0 RC
    • Fix Version/s: 5.9.1
    • Component/s: Build System
    • Labels:
      None
    • Commits:
      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"

        Attachments

        For Gerrit Dashboard: QTBUG-61044
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            buddenha Oswald Buddenhagen
            Reporter:
            mr.gadgets Frank van Vugt
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes