[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