Correct way to build QTIFW from sources on Linux?
-
Hi there!
I am trying my best to build QtIFW (and Qt) from sources in docker environment. My goal is to build QtIFW installer which will works out of the box on very old systems. At least on Debian 8. Prebuilt 4.4.1 QtIFW now comes with a bunch of dependencies (mostly xcb libs) and that is exactly the thing I'm trying to avoid here.And I almost nailed it. I've compiled Qt with bunch of static libraries, and also compiled QtIFW. And in the end it almost working.
I have the binaries. I got my installer created. It launching without a problem on an old system. But ElevatedOperations I am using in component scripts works unstable. Sometimes operation work and sometimes I see error window about failed operation and "Cannot start: <cmd>" error in the installer logs.This error must be a bug which active only in my build and doesn't manifest itself in Qt company builds. I'm not sure I will be able to find the bug itself so I am interesting in attempt to change build configuration itself.
I find this piece of documentation:
https://doc.qt.io/qtinstallerframework/ifw-getting-started.html
but it recommends to build Qt for QtIFW next fashion:configure -prefix $PWD/qtbase -release -static -accessibility -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -no-glib -no-cups -no-sql-sqlite -no-qml-debug -no-opengl -no-egl -no-xinput2 -no-sm -no-icu -nomake examples -nomake tests -no-libudev
At least -no-xinput2 parameter not valid for Qt 5.15.2 so I'm not sure this config is valid. Or maybe I am missed something here.
My current build for Qt 5.15.2 consists of this modules:
qtbase qtwayland qtdeclarative qttools qttranslations
and configured this way:./configure -prefix "$QT_PREFIX" \ -release \ -commercial \ -confirm-license \ -xcb \ -libproxy \ -accessibility \ -qt-zlib \ -qt-libpng \ -qt-libjpeg \ -qt-pcre \ -qt-harfbuzz \ -no-glib \ -no-cups \ -no-sql-sqlite \ -no-qml-debug \ -no-opengl \ -no-egl \ -no-sm \ -no-icu \ -no-libudev \ -openssl-linked \ -I "$OPENSSL_PREFIX/include" \ OPENSSL_LIBS="$OPENSSL_PREFIX/lib/libssl.a $OPENSSL_PREFIX/lib/libcrypto.a -lz -ldl -lpthread" \ XCB_LIBS="-L/usr/local/lib -lxcb -lXau" \ LIBPROXY_LIBS="-lproxy -ldl" \ -static \ -nomake examples \ -nomake tests \
So my question is: Is there a place to find better config for configuration of Qt to build with (or maybe config which used by Qt company itself)?