Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt 5.9 and aarch64 platform build woes

Qt 5.9 and aarch64 platform build woes

Scheduled Pinned Locked Moved Unsolved General and Desktop
4 Posts 2 Posters 2.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jroback
    wrote on last edited by
    #1

    In the need to build Qt 5.9 from source for aarch64 platform. We need 5.9 to use the latest QMapboxGL plugin within QtLocation. Using QMapboxGL with 5.7.1 separately has a lot of negatives, like flickering map markers, etc, all solved with 5.9 and a QtLocation submodule that puts QMapboxGL as a map plugin.

    Running on Ubuntu x86_64, this all works out-of-the-box.

    Problems we are running into are just configuring Qt 5.9 on aarch64, where 5.7.1 from source (git) works without issue on aarch64.

    For starters, QMapboxGL requires g++ 5, our aarch64 OS, g++ -> 4.9, so adding in g++ 5 results in a binary g++-5. The only way I could get Qt built using that was modifying qtbase/mkspecs/common/g++-base.conf, Qt configure would not use CXX QMAKE_CXX etc... Ok easy enough.

    Then we encounter breakpad stuff from qtbase/mkspecs/features/default_post.prf, even though we do not have anything related to breakpad installed, again 5.7.1 worked, it kept enabling breakpad and since QT_BREAKPAD_ROOT_PATH is empty, the generated LINK lines were trying to execute /qtbreakpadsymbols which obviously doesn't exist. Commented out those to make it further.

    Next encounter I am unable to solve and appears related to the configure.json stuff, which seems new from 5.7.1 to 5.9...

    Running configuration tests...
    Checking for gold linker... yes
    Checking for valid makespec... yes
    Checking for target architecture... arm64
    Checking for C++14 support... yes
    Checking for Compiler... GCC 5.1.1
    Checking for compiler defaulting to C++11 or higher... no
    Checking for new dtags support... yes
    Checking for pkg-config... yes
    Checking for D-Bus >= 1.2 (host)... yes
    Checking for udev... yes
    Checking for mremap()... yes
    Project ERROR: Left hand side of || is non-boolean value 'arch.arm' in expression '(arch.arm || arch.arm64) && tests.neon'
    

    arch.arm64 is defined, but arch.arm seems broken, if I change the condition to just arch.arm64 it passes but than fails on a similar error for ICU

    Running configuration tests...
    Checking for clock_gettime()... yes
    Checking for POSIX monotonic clock... yes
    Checking for dlopen() in libc... no
    Checking for dlopen() in libdl... yes
    Checking for eventfd... yes
    Checking for GLib... yes
    Checking for POSIX iconv... yes
    Checking for inotify... yes
    Checking for SysV IPC... yes
    Checking for 64 bit atomics... yes
    Checking for ppoll()... yes
    Checking for slog2... no
    Checking for DoubleConversion... no
    Checking for PCRE2... no
    Checking for O_CLOEXEC... yes
    Checking for working std::atomic for function pointers... yes
    Checking for getaddrinfo()... yes
    Checking for getifaddrs()... yes
    Checking for IPv6 ifname... yes
    Checking for OpenSSL... yes
    Project ERROR: Evaluation of condition 'libs.db2' yielded non-boolean value 'libs.db2' in feature 'sql-db2'.
    

    Anyone know about the new configure.json and where I should be looking to fix this?

    Thanks!

    1 Reply Last reply
    0
    • J Offline
      J Offline
      jroback
      wrote on last edited by
      #2

      If it matters, Qt 5.8 on aarch64 configures and builds and also seems to use configure.json. So something new in 5.9

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #3

        Hi and welcome to devnet,

        5.9 being the current dev branch, you should rather bring this topic to the interest mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        1
        • J Offline
          J Offline
          jroback
          wrote on last edited by
          #4

          Gotcha! Thanks!

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved