Qt World Summit: Register Today!

Qmake does not recognize linux-g++ specification on openSuse 12.1

  • Hi everyone,

    I am new to qmake, so maybe I am missing something simple here, but searching the web didn't help me.

    I am working on a Qt project set up to be built using qmake. It has a .pro file which contains a block like
    @ linux-g++ { ... }

    for settings specific to a linux/g++ environment.

    I tried running qmake on that file from two different systems which should both conform to the linux-g++ specification. One went fine, the other didn't:

    1. Everything looks good on a fresh install of Fedora 17 with Qt and g++ installed. I have to invoke "qmake-qt4" for that and it builds the Makefile as expected. "qmake-qt4 -v" prints
      "QMake version 2.01a
      Using Qt version 4.8.2 in /usr/lib64"
    2. The linux-g++ block is not entered by qmake on a machine with a fresh install of openSuse 12.1. Qt and g++ are installed here, too. "qmake -v prints"
      "QMake version 2.01a
      Using Qt version 4.7.4 in /usr/lib64"

    On the openSuse setup, when I just run "qmake" it just creates the Makefile ignoring the stuff inside the linux-g++ block. There is no warning on the command line. In order to see what the problem is, I ran "qmake -d 2>&1" which prints out many lines, including the line
    "DEBUG 1: Project Parser: <path_to_my_dot_pro_file>:84 : Test (linux-g++) failed."

    I tried to find out how qmake finds out about the current system. According to the "documentation":http://qt-project.org/doc/qt-4.8/qmake-advanced-usage.html, the QMAKESPEC environment variable should contain this information. However, on both of my systems "echo $QMAKESPEC" prints nothing and "qmake(-qt4) -query QMAKESPEC" prints "∗∗Unknown∗∗". The debugging output of qmake -d prints (among other lines)
    "DEBUG 1: QMAKESPEC conf: reading /usr/lib64/qt4/mkspecs/default/qmake.conf" on Fedora and
    "DEBUG 1: QMAKESPEC conf: reading /usr/share/qt4//mkspecs/default/qmake.conf" on openSuse.
    On Fedora, the "default" folder is a symbolic link to "linux-g++" and on openSuse it points to "linux-g++-64". Both lookes fine to me.

    So my question is: Why does qmake not recognize the linux-g++ specification on openSuse when it does on Fedora? What am I missing? What can I try to find out?

    Any help would be appreciated. I will be happy to provide additional information if needed.

    I am not out of patience but since no-one has answered yet, maybe you can help by telling me:

    • Am I in the correct forum here? Maybe I should post my problem in the "General and Desktop forum".

    • Does my post need to be improved? Maybe I made some formal mistake that keeps people from helping.

    • Should I file a bug report? Does this look like a bug in qmake or in openSuse?

    • What would you do in a situation like mine? What can I try? Where can I get help?

Log in to reply