Compiling on Fedora 21

"Paul-Erik Törrönen" poltsi at 777-team.org
Sun Jan 11 08:57:18 PST 2015


I followed the INSTALL instructions of building Subsurface, and noticed
the following interesting feature with qmake-qt5:

$ qmake-qt5 SPECIAL_MARBLE_PREFIX=1
Project ERROR: Unknown module(s) in QT: core gui network svg printsupport
concurrent webkitwidgets webkit

$ which qmake-qt5
/usr/bin/qmake-qt5

$ md5sum `which qmake-qt5`
0e73f80898a605447483620e1559fe40  /usr/bin/qmake-qt5

When running the qmake-qt5 with -d, the following interesting parts can be
seen:

DEBUG 1: visiting file /usr/lib64/qt5/mkspecs/features/qt_config.prf
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf: entering block
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:4: QMAKE_QT_CONFIG
:= /usr/bin/mkspecs/qconfig.pri
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:5: NOT
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:5: evaluating test
function "exists"
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:5: calling built-in
exists(/usr/bin/mkspecs/qconfig.pri)
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:5: test function
returned false
....
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:6: calling built-in
debug(1, "Cannot load qconfig.pri!")
DEBUG 1: Project DEBUG: Cannot load qconfig.pri!
DEBUG 1: /usr/lib64/qt5/mkspecs/features/qt_config.prf:6: test function
returned true
....
DEBUG 1: /home/poltsi/Work/Other/subsurface/subsurface.pro:7: calling
built-in lessThan(QT_MAJOR_VERSION, 5)
DEBUG 1: /home/poltsi/Work/Other/subsurface/subsurface.pro:7: test
function returned true

The latter part shows that the test for QT_MAJOR_VERSION fails. It is also
curious where qmake tries to find the qconfig.pri since I have the
following:
$ locate mkspecs/qconfig.pri
/usr/i686-w64-mingw32/sys-root/mingw/share/qt4/mkspecs/qconfig.pri
/usr/lib64/qt4/mkspecs/qconfig.pri
/usr/lib64/qt5/mkspecs/qconfig.pri
/usr/x86_64-w64-mingw32/sys-root/mingw/share/qt5/mkspecs/qconfig.pri

Looking at how the qt5-qtquickcontrols src-package is built
(successfully), I noticed that it did not use qmake-qt5, rather
/usr/lib64/qt5/bin/qmake. The funny part is this:

$ ls -la /usr/lib64/qt5/bin/qmake
-rwxr-xr-x 2 root root 3129984 Dec 10 22:02 /usr/lib64/qt5/bin/qmake
$ md5sum /usr/lib64/qt5/bin/qmake
0e73f80898a605447483620e1559fe40  /usr/lib64/qt5/bin/qmake

So it is the same binary. And of course:

$ /usr/lib64/qt5/bin/qmake SPECIAL_MARBLE_PREFIX=1
$

So the qmake(-qt5) apparently looks at where it was called from. and uses
that dirname to look for the rest of where qt5-stuff lies.

Poltsi

-- 
Paul-Erik Törrönen   "When science and the Bible differ,
poltsi at 777-team.org   science has obviously misinterpreted
+358 40 703 1231      its data"
http://poltsi.fi/     Henry Morris, father of 'modern creationism'



More information about the subsurface mailing list