[pyqtdeploy] Failing at building the demo

umbertofilippo umbertofilippo at tiscali.it
Tue Mar 12 07:48:38 GMT 2024


Thanks Charles and KC!


I was finally able to build the demo after installing all the Qt for X11 
requirements for Linux!!!


For the records, here is what I had to install on my machine (Linux Mint 
21):

Note: there is a package in the list of requirements which has a missing 
match on my system, I am marking it down below:


sudo apt-get install libxcb-util-dev
sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev 
libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev 
libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev 
libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev 
libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev 
libxkbcommon-dev libxkbcommon-x11-dev libxcb-xinerama0-dev # instead of 
"libxcd-xinerama-dev"


Now, on my application and then Android! ;)


On 3/9/24 20:47, Umberto Minora wrote:
> Thanks for the hint Charles, I will try to test the solution as soon 
> as I can and report back on the result.
>
> As far as I understand, I should do "sudo apt-get install 
> libxcb-util-dev" as explained in 
> https://forum.qt.io/topic/125582/qt-5-15-2-do-not-build-libqxcb-so-but-at-the-same-time-qt-5-14-0-successfully-build-libqxcb-so/4?_=1710013170647&lang=it 
> and run "build-demo.py" again.
>
> Will be back soon.
>
> Umberto
>
> Il 9 mar 2024 15:48, Charles <peacech at gmail.com> ha scritto:
>
>     Do you have libxcb.so platform plugin in your qt directory?
>
>     If not you need to rebuild qt again, make sure that requirements
>     listed at https://doc.qt.io/qt-5/linux-requirements.html are
>     installed and make sure the xcb platform plugin is built.
>
>     On Sat, Mar 9, 2024 at 8:38 PM umbertofilippo
>     <umbertofilippo at tiscali.it> wrote:
>
>         Hello everyone,
>
>
>         just a quick update: I did the KC's three lines trick and it
>         did the job.
>
>         I am now stuck at yet another error, which is
>
>         Generating the Makefiles...
>         /home/umberto/games/python/pyqt-demo/sysroot-linux-64/Qt/bin/qmake
>         -recursive PyQt5.pro
>         sip-install:
>         '/home/umberto/games/python/pyqt-demo/sysroot-linux-64/Qt/bin/qmake
>         -recursive PyQt5.pro' failed returning 3
>         Info: creating stash file /tmp/tmphwkq3ix1/.qmake.stash
>         Reading /tmp/tmphwkq3ix1/QtCore/QtCore.pro
>         Reading /tmp/tmphwkq3ix1/QtNetwork/QtNetwork.pro
>         Reading /tmp/tmphwkq3ix1/QtGui/QtGui.pro
>         Reading /tmp/tmphwkq3ix1/QtWidgets/QtWidgets.pro
>         Reading /tmp/tmphwkq3ix1/QtX11Extras/QtX11Extras.pro
>         Project ERROR: Unknown module(s) in QT: x11extras
>         pyqtdeploy-sysroot: execution of 'sip-install' failed:
>         returned exit code 1
>
>
>         I am attaching the whole log again in case it's useful to
>         better understand what went wrong.
>
>
>         Any idea how to move on from here?
>
>
>         Sorry for spamming but I hope this thread not only will fix my
>         issues but also will serve as a reference for building with a
>         Linux machine (or me and for others hopefully).
>
>
>         Umberto
>
>
>         On 3/8/24 20:32, Kaiser Chief wrote:
>
>             Hi,
>
>             "qt-everywhere-opensource-src-5.15.10.tar.xz" is the right
>             file you are looking for.
>
>             Unfortunately, "pyqtdeploy/sysroot/plugins/Qt.py" is
>             looking for 'qt-everywhere-src-{}.tar.xz'
>
>             You could fix that line (#53) in
>             "pyqtdeploy/sysroot/plugins/Qt.py"with:
>             ` qt-everywhere-opensource-src-{}.tar.xz `
>
>             However, you might encounter problems down the line
>             probably...
>
>             I would recommend to stick with Qt5.15.2 and do necessary
>             changes.
>             Alternatively, you could built
>             qt-everywhere-opensource-src-5.15.10.tar.xz from source
>             manually and tell pyqtdeploy where to look for Qt install
>             (but that's a bit more painful).
>
>
>             Best regards,
>
>             KC
>
>             Le ven. 8 mars 2024 à 19:21, umbertofilippo
>             <umbertofilippo at tiscali.it> a écrit :
>
>                 Thanks again for the feedback,
>
>
>                 I have just tried to update the sysroot.toml like this:
>
>
>                 # Qt
>                 ##########################################################################
>
>                 [Qt]
>                 version = "5.15.10" # original was "5.15.2"
>                 edition = "opensource"
>
>                 and now it seems the link to download the qt source
>                 can no longer be found.
>
>
>                 Qt: installing component...
>                 Qt: looking for 'qt-everywhere-src-5.15.10.tar.xz' in
>                 /home/umberto/games/python/pyqt-demo.
>                 Qt: downloading 'qt-everywhere-src-5.15.10.tar.xz'
>                 from
>                 https://download.qt.io/archive/qt/5.15/5.15.10/single/...
>                 Qt:
>                 'https://download.qt.io/archive/qt/5.15/5.15.10/single/qt-everywhere-src-5.15.10.tar.xz'
>                 was not found.
>                 pyqtdeploy-sysroot: Qt: unable to find
>                 '/home/umberto/.pyqtdeploy/cache/qt-everywhere-src-5.15.10.tar.xz'.
>
>
>                 The only similar thing I can see in
>                 https://download.qt.io/archive/qt/5.15/5.15.10/single/
>                 is "qt-everywhere-opensource-src-5.15.10.tar.xz"
>
>
>                 If there is no easy way to solve this you can think of
>                 I will probably try to test adding those 3 lines to
>                 qtbase/src/corelib/global/qglobal.h
>
>
>                 Thanks again so much for your kind and feedback, much
>                 appreciated!
>
>
>                 Umberto
>
>
>                 On 3/8/24 19:38, Kaiser Chief wrote:
>
>                     To complement Charles' answer, it seems like
>                     someone found a quick fix with GCC11, in case you
>                     are reluctant to move back to GCC10:
>                     https://forum.qt.io/topic/136672/error-installing-qt-everywhere-src-5-15-2-on-ubuntu-22-04/2
>
>
>                     add these 3 lines at the top of
>                     qtbase/src/corelib/global/qglobal.h : (I haven't
>                     tested that)
>                     ```
>                     #ifdef __cplusplus
>                     #include <limits>
>                     #endif
>                     ```
>
>                     For ref, the QT bug associated is:
>                     https://bugreports.qt.io/browse/QTBUG-90395
>                     It has been fixed for ** QT5.15.9
>                     <https://bugreports.qt.io/issues/?jql=project+%3D+QTBUG+AND+fixVersion+%3D+5.15.9>,
>                     but since you are using the default QT5.15.2, well
>                     it's not fixed.
>
>                     Best regards,
>
>                     KC
>
>                     Le ven. 8 mars 2024 à 18:28, Charles
>                     <peacech at gmail.com> a écrit :
>
>                         With C++ the relevant error is the first error
>                         line, the rest is usually noise. If you google
>                         gcc numeric_limits is not a class template you
>                         will find https://bugs.gentoo.org/768342
>
>                         If you use gcc 11 then use gcc 10 otherwise
>                         patch qt headers as in
>                         https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92d54be896563102786238893a9c645b8bdb43ef
>
>                         On Sat, Mar 9, 2024 at 12:49 AM umbertofilippo
>                         <umbertofilippo at tiscali.it> wrote:
>
>                             Moving on,
>
>
>                             I have tried to remove OpenSSL from the
>                             "sysroot.toml" since it is not required,
>                             and now the process seems to go further,
>                             but I am stuck at a new error:
>
>
>                             Verifying host architecture 'linux-64'...
>                             Verifying target architecture 'linux-64'...
>                             zlib: verifying...
>                             Qt: verifying...
>                             Python: verifying...
>                             SIP: verifying...
>                             PyQt: verifying...
>                             PyQt3D: verifying...
>                             PyQtChart: verifying...
>                             PyQtDataVisualization: verifying...
>                             PyQtNetworkAuth: verifying...
>                             PyQtPurchasing: verifying...
>                             QScintilla: verifying...
>                             zlib: installing component...
>                             Qt: installing component...
>                             Qt: downloading
>                             'qt-everywhere-src-5.15.2.tar.xz' from
>                             https://download.qt.io/archive/qt/5.15/5.15.2/single/...
>                             pyqtdeploy-sysroot: execution of
>                             './configure' failed: returned exit code 2
>
>
>                             What can be the cause of this new error? I
>                             see there is a new folder now in the
>                             original pyqt demo directory called
>                             "sysroot-linux-64" and inside I see
>                             there's
>                             "sysroot-linux-64/build/qt-everywhere-src-5.15.2"
>                             with a "configure" file, but other than
>                             this I have no clue sincerely on why it is
>                             failing.
>
>
>                             I have attached the content of running
>                             build-demo.py with --verbose
>
>
>                             Hope someone can help me. Thanks.
>
>
>                             On 3/8/24 12:18, umbertofilippo wrote:
>
>                                 Hi and many thanks for you feedback!
>
>
>                                 First of all let me tell that I am
>                                 very interested in finding a solution
>                                 to this problem, and I will try to do
>                                 my best if I can contribute in case
>                                 it's needed.
>
>
>                                 I just checked, and this is what I can
>                                 see in my
>                                 /usr/include/openssl/opensslv.h file.
>                                 Cannot tell though if pyqtdeploy is
>                                 supposed to work or not given these
>                                 lines...
>
>
>                                 /*
>                                  * SECTION 4: BACKWARD COMPATIBILITY
>                                  */
>
>                                 # define OPENSSL_VERSION_TEXT "OpenSSL
>                                 3.0.2 15 Mar 2022"
>
>                                 /* Synthesize OPENSSL_VERSION_NUMBER
>                                 with the layout 0xMNN00PPSL */
>                                 # ifdef OPENSSL_VERSION_PRE_RELEASE
>                                 #  define _OPENSSL_VERSION_PRE_RELEASE
>                                 0x0L
>                                 # else
>                                 #  define _OPENSSL_VERSION_PRE_RELEASE
>                                 0xfL
>                                 # endif
>                                 # define OPENSSL_VERSION_NUMBER \
>                                     ( (OPENSSL_VERSION_MAJOR<<28) \
>                                 |(OPENSSL_VERSION_MINOR<<20) \
>                                 |(OPENSSL_VERSION_PATCH<<4) \
>                                 |_OPENSSL_VERSION_PRE_RELEASE )
>
>                                 # ifdef  __cplusplus
>                                 }
>                                 # endif
>
>                                 # include <openssl/macros.h>
>                                 # ifndef OPENSSL_NO_DEPRECATED_3_0
>                                 #  define HEADER_OPENSSLV_H
>                                 # endif
>
>                                 #endif
>
>
>                                 Umberto
>
>
>                                 On 3/7/24 19:11, Kaiser Chief wrote:
>
>                                     Hi,
>
>                                     To complement my previous message
>                                     (and after doing a quick search
>                                     through the source code):
>                                     * The script "OpenSSL.py" is
>                                     looking for
>                                     "OPENSSL_VERSION_NUMBER" in
>                                     "/usr/include/openssl/opensslv.h"
>                                     * In OpenSSL 1.1.1 (which is
>                                     installed on my Linux), I can see
>                                     the line "#define
>                                     OPENSSL_VERSION_NUMBER" in
>                                     "/usr/include/openssl/opensslv.h".
>
>                                     Can you check that you have that
>                                     line in your header file too?
>
>                                     If not, it's probably that OpenSSL
>                                     updated their header files and put
>                                     the VERSION_NUMBER somewhere else...
>
>                                     If you want to run the demo, I
>                                     would recommend you install the
>                                     default versions as written in the
>                                     `sysroot.toml`
>
>                                     If there are fixes to make for
>                                     each "version grepping", I believe
>                                     that Phil had a way to contribute
>                                     to plugins for pyqtdeploy, but
>                                     can't remember where...
>
>                                     Best regards,
>
>                                     KC
>
>                                     Le jeu. 7 mars 2024 à 17:56,
>                                     Kaiser Chief
>                                     <kaiser.chiefmail at gmail.com> a écrit :
>
>                                         Hi,
>
>                                         According to the sysroot help
>                                         page
>                                         (https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/sysroot.html#openssl),
>                                         if you have configured your
>                                         `sysroot.toml` like this:
>                                         ```
>
>                                         [OpenSSL.linux]
>                                         version = ""
>                                         install_from_source = false
>
>                                         ```
>
>                                         Then, on Linux, the OpenSSL
>                                         library used will be the one
>                                         installed on your OS with no
>                                         assumption on the version (so
>                                         that should work in your example).
>                                         Now, that's what is provided
>                                         in the demo folder for
>                                         `pyqtdeploy-3.3.0`, so that's odd.
>
>                                         Therefore, it could be that
>                                         the `pyqtdeploy-sysroot`
>                                         functionality is struggling to
>                                         extract the version number
>                                         from your OS-installed OpenSSL.
>
>                                         ---
>
>                                         I am not of great help with
>                                         that comment, however, I would
>                                         like to suggest, if it's your
>                                         first time with pyqtdeploy to
>                                         give a try at my Github repo:
>
>                                         https://github.com/achille-martin/pyqt-crom
>
>
>                                         This repo aims at
>                                         demonstrating how beginner
>                                         devs, intermediate devs and
>                                         expert devs can benefit from
>                                         pyqtdeploy.
>                                         It also offers a few simple
>                                         tutorials to get started with
>                                         pyqtdeploy (simpler than the
>                                         demo in the official
>                                         pyqtdeploy package) and
>                                         optimises bits of the tool
>                                         regarding the user interface
>                                         (for now).
>
>                                         I can support you with your
>                                         initial journey on discovering
>                                         pyqtdeploy through my repo if
>                                         you wish.
>
>                                         Best regards,
>
>                                         KC
>
>                                         Le jeu. 7 mars 2024 à 17:06,
>                                         umbertofilippo
>                                         <umbertofilippo at tiscali.it> a
>                                         écrit :
>
>                                             Hello everyone, first time
>                                             here for me :)
>
>
>                                             I was giving pyqtdeploy a
>                                             try and I am stuck at the
>                                             very first step of
>                                             the "Building the Demo" page.
>
>
>                                             I am on a Linux-64
>                                             machine. I am following
>                                             the tutorial at
>                                             https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/demo.html
>                                             and
>                                             I have downloaded the demo
>                                             files from
>                                             https://files.pythonhosted.org/packages/44/d4/978017382f0ecc48601944c3fc0f58a5c5075a1d3acd48d09c11ee471b05/pyqtdeploy-3.3.0.tar.gz
>
>
>                                             I have created a virtual
>                                             python environment with
>                                             the following packages
>                                             and versions installed:
>
>                                             Name,Version
>                                             _libgcc_mutex,0.1
>                                             _openmp_mutex,4.5
>                                             bzip2,1.0.8
>                                             ca-certificates,2024.2.2
>                                             ld_impl_linux-64,2.40
>                                             libexpat,2.6.1
>                                             libffi,3.4.2
>                                             libgcc-ng,13.2.0
>                                             libgomp,13.2.0
>                                             libnsl,2.0.1
>                                             libsqlite,3.45.1
>                                             libuuid,2.38.1
>                                             libxcrypt,4.4.36
>                                             libzlib,1.2.13
>                                             ncurses,6.4
>                                             openssl,3.2.1
>                                             pip,24.0
>                                             pyqt5,5.15.10
>                                             pyqt5-qt5,5.15.2
>                                             pyqt5-sip,12.13.0
>                                             pyqtdeploy,3.3.0
>                                             python,3.12.2
>                                             readline,8.2
>                                             setuptools,69.1.1
>                                             tk,8.6.13
>                                             toml,0.10.2
>                                             tzdata,2024a
>                                             wheel,0.42.0
>                                             xz,5.2.6
>
>                                             I have tried to run the
>                                             command "python
>                                             build-demo.py" straight away,
>                                             but I am getting the
>                                             following error:
>
>                                             OpenSSL: verifying...
>                                             OpenSSL: determining
>                                             installed version from
>                                             '/usr/include/openssl/opensslv.h'.
>                                             pyqtdeploy-sysroot:
>                                             OpenSSL: unable to extract
>                                             the version number.
>
>
>                                             OpenSSL is installed on my
>                                             machine and the result of
>                                             doing "openssl
>                                             version" is "OpenSSL 3.2.1
>                                             30 Jan 2024 (Library:
>                                             OpenSSL 3.2.1 30 Jan 2024)"
>
>
>                                             Am I supposed to install
>                                             the exact versions of all
>                                             the components found
>                                             in the ""sysroot.toml"
>                                             file to be able to
>                                             run "python build-demo.py"
>                                             successfully?
>
>
>                                             Thanks,
>
>
>                                             Umberto
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20240312/0b6fdd33/attachment-0001.htm>


More information about the PyQt mailing list