[pyqtdeploy] Failing at building the demo
umbertofilippo
umbertofilippo at tiscali.it
Fri Apr 19 17:15:44 BST 2024
Hello everyone,
I finally had some time to come back to this.
I tried to build my own application (a simple memory game, whose source
you can find here: https://github.com/umbe1987/memory).
Host Linux-64 and target Linux-64.
The deployment process seemed smooth, however when I try to launch my
application in the build-linux-64 directory, I see this error:
```
Traceback (most recent call last):
File "memory.py", line 6, in <module>
File "bootstrap-3.11.0.py", line 1178, in _find_and_load
File "bootstrap-3.11.0.py", line 1142, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'PyQt5.QtMultimedia'
```
I went back to the .pdt file (`pyqtdeploy-build memory.pdt`), but in the
Packages tab I cannot see QtMultimedia listed anywhere.
I could try to add it manually in the memory.pdt file, but I was
wondering if I am doing anything wrong.
I am sharing the content of my pdt file below.
Many thanks in advance if you wish to help.
Umberto
memory.pdt
```
version = 0
sysroot = ""
sysroots_dir = ""
parts = [ "Python:random", "PyQt:PyQt5.QtWidgets", "Python:glob",
"Python:os", "PyQt:PyQt5.QtCore", "PyQt:PyQt5.QtGui", "SIP:PyQt5.sip",
"PyQt:PyQt5",]
[Application]
entry_point = ""
is_console = false
is_bundle = false
name = ""
qmake_configuration = ""
script = "memory.py"
syspath = ""
[Application.Package]
name = "data"
exclude = [ "*.pyc", "*.pyd", "*.pyo", "*.pyx", "*.pxi", "__pycache__",
"*-info", "EGG_INFO", "*.so",]
[[Application.Package.Content]]
name = "back.jpg"
included = true
is_directory = false
[[Application.Package.Content]]
name = "img"
included = true
is_directory = true
[[Application.Package.Content.Content]]
name = "analisiapprofondita.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "cagnaccioselvaggio.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "diamanteocchidileone.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "lameraviglia.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "leggedelpiuforte.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "lucertolacrogiolante.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "ricercaossessiva.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "ruggitodelwurm.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "studioaccurato.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "Tropicalisland.jpg"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "wurmarrogante.jpg"
included = true
is_directory = false
[[Application.Package.Content]]
name = "sound"
included = true
is_directory = true
[[Application.Package.Content.Content]]
name = "end.wav"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "fail.wav"
included = true
is_directory = false
[[Application.Package.Content.Content]]
name = "success.wav"
included = true
is_directory = false
```
On 3/12/24 08:48, umbertofilippo wrote:
>
> 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/20240419/847260f5/attachment-0001.htm>
More information about the PyQt
mailing list