Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Solved: Qt 5.11+ fails to configure in Gentoo Prefix with Could not find qmake spec ''.
Forum Updated to NodeBB v4.3 + New Features

Solved: Qt 5.11+ fails to configure in Gentoo Prefix with Could not find qmake spec ''.

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
3 Posts 2 Posters 1.1k Views 1 Watching
  • 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.
  • A Offline
    A Offline
    awesomebytes
    wrote on last edited by awesomebytes
    #1

    Hello everyone,

    I've been fighting this issue for a week with no real advancements. I've reported in the Gentoo bugtracker the issue: https://bugs.gentoo.org/672602
    I've also started a thread in the Gentoo forums: https://forums.gentoo.org/viewtopic-p-8289840.html#8289840

    And I've been asking for help on different IRC channels, but for now, even with the help of some fantastic people, I'm still blocked.

    I'm trying to compile qtcore 5.11 (or greater). I can compile qtcore 5.9.6. I'm doing all this in a docker environment (a base Ubuntu 16.04 image, with a Gentoo Prefix bootstrapped system on top).

    The specific problem that arises is that, after bootstrapping qmake successfully, qmake is called. In 5.9.6, this just works, it catches the working folder as the project and goes happily and compiles. In 5.11+, I get the Could not find qmake spec ''. error.

    I've been following the rabbit hole to see what is this spec, and what other variables are involved. The furthest I've got is to appreciate the differences in between 5.9.6 and 5.11.

    On 5.9.6 my debug prints show the following variables from qmake/library/qmakeevaluator.cpp:

    DEBUG QMakeEvaluator::updateMkspecPaths m_buildRoot path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.9.6/work/qtbase-opensource-src-5.9.6' 
    DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/get path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.9.6/work/qtbase-opensource-src-5.9.6' 
    DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/src path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.9.6/work/qtbase-opensource-src-5.9.6'
    

    And on 5.11:

    DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/get path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.11.2-r1/work/qtbase-everywhere-src-5.11.2/bin' 
    DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/src path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.11.2-r1/work/qtbase-everywhere-src-5.11.2/bin'
    

    I notice the path in 5.11.2 is wrong somehow. It points to the bin folder where the qmake binary is placed, instead of the previous folder (where the specs can be found).

    My biggest issue is... I don't know where any of these internal QT variables are set. I've grepped all over and tried to follow the code to know where it comes from with no luck.

    Could anyone give me some ideas?

    P.S.: If anyone wants to reproduce the error, in the Gentoo Forum post there are instructions on how to pull the docker image that reproduces the problem and run it. It may be a bit cumbersome to understand what is going on not being familiar with Gentoo, but I'm very eager to help.
    P.S.2: I've tried up to qtcore 5.11.3 which is the latest version available right now for Gentoo, and all the versions end up with the same problem.

    A 1 Reply Last reply
    0
    • A awesomebytes

      Hello everyone,

      I've been fighting this issue for a week with no real advancements. I've reported in the Gentoo bugtracker the issue: https://bugs.gentoo.org/672602
      I've also started a thread in the Gentoo forums: https://forums.gentoo.org/viewtopic-p-8289840.html#8289840

      And I've been asking for help on different IRC channels, but for now, even with the help of some fantastic people, I'm still blocked.

      I'm trying to compile qtcore 5.11 (or greater). I can compile qtcore 5.9.6. I'm doing all this in a docker environment (a base Ubuntu 16.04 image, with a Gentoo Prefix bootstrapped system on top).

      The specific problem that arises is that, after bootstrapping qmake successfully, qmake is called. In 5.9.6, this just works, it catches the working folder as the project and goes happily and compiles. In 5.11+, I get the Could not find qmake spec ''. error.

      I've been following the rabbit hole to see what is this spec, and what other variables are involved. The furthest I've got is to appreciate the differences in between 5.9.6 and 5.11.

      On 5.9.6 my debug prints show the following variables from qmake/library/qmakeevaluator.cpp:

      DEBUG QMakeEvaluator::updateMkspecPaths m_buildRoot path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.9.6/work/qtbase-opensource-src-5.9.6' 
      DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/get path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.9.6/work/qtbase-opensource-src-5.9.6' 
      DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/src path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.9.6/work/qtbase-opensource-src-5.9.6'
      

      And on 5.11:

      DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/get path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.11.2-r1/work/qtbase-everywhere-src-5.11.2/bin' 
      DEBUG QMakeEvaluator::updateMkspecPaths QT_HOST_DATA/src path '/home/user/gentoo/var/tmp/portage/dev-qt/qtcore-5.11.2-r1/work/qtbase-everywhere-src-5.11.2/bin'
      

      I notice the path in 5.11.2 is wrong somehow. It points to the bin folder where the qmake binary is placed, instead of the previous folder (where the specs can be found).

      My biggest issue is... I don't know where any of these internal QT variables are set. I've grepped all over and tried to follow the code to know where it comes from with no luck.

      Could anyone give me some ideas?

      P.S.: If anyone wants to reproduce the error, in the Gentoo Forum post there are instructions on how to pull the docker image that reproduces the problem and run it. It may be a bit cumbersome to understand what is going on not being familiar with Gentoo, but I'm very eager to help.
      P.S.2: I've tried up to qtcore 5.11.3 which is the latest version available right now for Gentoo, and all the versions end up with the same problem.

      A Offline
      A Offline
      awesomebytes
      wrote on last edited by
      #2

      I found a fix!

      As reported in: https://bugs.gentoo.org/672602

      I found out if I used the Gentoo Prefix deployed in a host directly the compilation went thru. Which was very suspicious, extra googling ended up in:

      https://stackoverflow.com/questions/50785575/configuring-qtbase-fails-with-an-error-could-not-find-qmake-spec/52120885

      And

      https://bugreports.qt.io/browse/QTBUG-66930

      Which, mainly, it's a problem of libseccomp being outdated. Or Docker being outdated. Or both. Anyways, for me it works to use the workaround:

      Run docker (when building QT) with:

      --security-opt seccomp:unconfined

      Ideally libseccomp will be updated sometime in Ubuntu 16.04 and this won't happen again.

      Sorry for the noise.

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

        Hi and welcome to devnet,

        Glad you found a solution and thanks for sharing it !

        Since you have it working now, please mark the thread as solved using the "Topic Tools" button so that other forum users may know a solution has been found :)

        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
        0

        • Login

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