From pykde Sat Apr 20 09:32:44 2024 From: Kaiser Chief Date: Sat, 20 Apr 2024 09:32:44 +0000 To: pykde Subject: Re: [pyqtdeploy] Failing at building the demo Message-Id: X-MARC-Message: https://marc.info/?l=pykde&m=171360543707906 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--000000000000c11b32061683e3db" --000000000000c11b32061683e3db Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi umbertofilippo, The non-standard python packages should be added to the `sysroot.toml` first. In fact, there should be a `PyQt5` block in your `sysroot.toml`. (The component plugin for PyQt5 will work there). Look at the `Pyqt5.Linux` section and add QtMultimedia to the list of modules (QtWidgets should already be there for instance). Then reload your .pdt and it should automatically detect QtMultimedia which you can tick. I have checked your python source code and it does not seem that you need any other dependency so you can ghead with this change and build. Best regards, KC On Fri, 19 Apr 2024, 17:16 umbertofilippo, wrote: > 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 > 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 wonderin= g > 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 =3D 0 > sysroot =3D "" > sysroots_dir =3D "" > parts =3D [ "Python:random", "PyQt:PyQt5.QtWidgets", "Python:glob", > "Python:os", "PyQt:PyQt5.QtCore", "PyQt:PyQt5.QtGui", "SIP:PyQt5.sip", > "PyQt:PyQt5",] > > [Application] > entry_point =3D "" > is_console =3D false > is_bundle =3D false > name =3D "" > qmake_configuration =3D "" > script =3D "memory.py" > syspath =3D "" > > [Application.Package] > name =3D "data" > exclude =3D [ "*.pyc", "*.pyd", "*.pyo", "*.pyx", "*.pxi", "__pycache__", > "*-info", "EGG_INFO", "*.so",] > [[Application.Package.Content]] > name =3D "back.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content]] > name =3D "img" > included =3D true > is_directory =3D true > [[Application.Package.Content.Content]] > name =3D "analisiapprofondita.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "cagnaccioselvaggio.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "diamanteocchidileone.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "lameraviglia.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "leggedelpiuforte.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "lucertolacrogiolante.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "ricercaossessiva.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "ruggitodelwurm.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "studioaccurato.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "Tropicalisland.jpg" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "wurmarrogante.jpg" > included =3D true > is_directory =3D false > > > [[Application.Package.Content]] > name =3D "sound" > included =3D true > is_directory =3D true > [[Application.Package.Content.Content]] > name =3D "end.wav" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "fail.wav" > included =3D true > is_directory =3D false > > [[Application.Package.Content.Content]] > name =3D "success.wav" > included =3D true > is_directory =3D 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?_=3D1710013170647&= lang=3Dit > and run "build-demo.py" again. > > Will be back soon. > > Umberto > > Il 9 mar 2024 15:48, Charles 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 a= t > 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=E2=80=AFPM umbertofilippo > 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 a= nd > 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.x= z > from source manually and tell pyqtdeploy where to look for Qt install (bu= t > that's a bit more painful). > > > Best regards, > > KC > > Le ven. 8 mars 2024 =C3=A0 19:21, umbertofilippo a > =C3=A9crit : > > Thanks again for the feedback, > > > I have just tried to update the sysroot.toml like this: > > > # Qt > #########################################################################= # > > [Qt] > version =3D "5.15.10" # original was "5.15.2" > edition =3D "opensource" > > and now it seems the link to download the qt source can no longer be foun= d. > > > 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 tr= y > 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 > #endif > ``` > > For ref, the QT bug associated is: > https://bugreports.qt.io/browse/QTBUG-90395 > It has been fixed for QT5.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 =C3=A0 18:28, Charles a =C3=A9cri= t : > > 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=3D92d54be89656310278= 6238893a9c645b8bdb43ef > > On Sat, Mar 9, 2024 at 12:49=E2=80=AFAM umbertofilippo > 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 ne= w > 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 > # 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 remembe= r > where... > > Best regards, > > KC > > Le jeu. 7 mars 2024 =C3=A0 17:56, Kaiser Chief a > =C3=A9crit : > > Hi, > > According to the sysroot help page ( > https://www.riverbankcomputing.com/static/Docs/pyqtdeploy/sysroot.html#op= enssl), > if you have configured your `sysroot.toml` like this: > ``` > > [OpenSSL.linux] > version =3D "" > install_from_source =3D false > > ``` > > Then, on Linux, the OpenSSL library used will be the one installed on you= r > 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`, s= o > 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 Gith= ub > 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 =C3=A0 17:06, umbertofilippo a > =C3=A9crit : > > 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/978017382f0ecc48601944c3fc0= f58a5c5075a1d3acd48d09c11ee471b05/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 > > > --000000000000c11b32061683e3db Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi umbertofilippo,

=
The non-standard python packages should be added to the `= sysroot.toml` first.

In = fact, there should be a `PyQt5` block in your `sysroot.toml`. (The componen= t plugin for PyQt5 will work there). Look at the `Pyqt5.Linux` section and = add QtMultimedia to the list of modules (QtWidgets should already be there = for instance).=C2=A0

The= n reload your .pdt and it should automatically detect QtMultimedia which yo= u can tick.=C2=A0

I have= checked your python source code and it does not seem that you need any oth= er dependency so you can ghead with this change and build.=C2=A0

Best regards,=C2=A0

KC

<= div dir=3D"auto">
On Fri, 19 Apr 2024, 17:16 umbertofilippo, <umbertofilippo@tiscali.it> = wrote:
=20 =20 =20

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):
=C2=A0 File "memory.py", line 6, in <module>
=C2=A0 File "bootstrap-3.11.0.py", line 1178, in _find= _and_load
=C2=A0 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 =3D 0
sysroot =3D ""
sysroots_dir =3D ""
parts =3D [ "Python:random", "PyQt:PyQt5.QtWidgets&quo= t;, "Python:glob", "Python:os", "PyQt:PyQt5.QtCore", "PyQt:PyQt= 5.QtGui", "SIP:PyQt5.sip", "PyQt:PyQt5",]

[Application]
entry_point =3D ""
is_console =3D false
is_bundle =3D false
name =3D ""
qmake_configuration =3D ""
script =3D "memory.py"
syspath =3D ""

[Application.Package]
name =3D "data"
exclude =3D [ "*.pyc", "*.pyd", "*.pyo"= , "*.pyx", "*.pxi", "__pycache__", "*-info", "EGG_INFO", &q= uot;*.so",]
[[Application.Package.Content]]
name =3D "back.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content]]
name =3D "img"
included =3D true
is_directory =3D true
[[Application.Package.Content.Content]]
name =3D "analisiapprofondita.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "cagnaccioselvaggio.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "diamanteocchidileone.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "lameraviglia.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "leggedelpiuforte.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "lucertolacrogiolante.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "ricercaossessiva.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "ruggitodelwurm.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "studioaccurato.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "Tropicalisland.jpg"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "wurmarrogante.jpg"
included =3D true
is_directory =3D false


[[Application.Package.Content]]
name =3D "sound"
included =3D true
is_directory =3D true
[[Application.Package.Content.Content]]
name =3D "end.wav"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "fail.wav"
included =3D true
is_directory =3D false

[[Application.Package.Content.Content]]
name =3D "success.wav"
included =3D true
is_directory =3D false

```

On 3/12/24 08:48, umbertofilippo wrote:
=20

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:
=20
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 ht= tps://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?_=3D1710013170647&= lang=3Dit and run "build-demo.py" again.

Will be back soon.

Umberto

Il 9 mar 2024 15:48, Charles <pe= acech@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://d= oc.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=E2=80=AFPM umbertofilippo <umbertofilippo@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.ta= r.xz" is the right file you are looking for.

Unfortunately, "pyqtdeploy/sysroot/plugins/Qt.py" = is looking for 'qt-everywhere-src-{}.tar.xz&= #39;

You could fix that line (#53) in "pyqtdeploy/sysroot/plugins/Qt.py"w= ith:
` 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

Thanks again for the feedback,


I have just tried to update the sysroot.toml like this:


# Qt ##########################################################################<= br>
[Qt]
version =3D "5.15.10" # origina= l was "5.15.2"
edition =3D "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/sin= gle/ is "qt-everywhere-opensource-src-5.15.1= 0.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://bugrepo= rts.qt.io/browse/QTBUG-90395
It has been fixed for QT5.15.9, but since you are using the default QT5.15.2, well it's not fixed.

Best regards,

KC

Le=C2=A0ven. 8 mars 20= 24 =C3=A0=C2=A018:28, Charles <peacech= @gmail.com> a =C3=A9crit=C2=A0:
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/gent= oo.git/commit/?id=3D92d54be896563102786238893a9c645b8bdb43ef

On Sat, Mar 9, 2024 at 12:49=E2=80=AFAM umbertofilippo <umberto= filippo@tiscali.it> wrote:

Moving on,


I have tried to remove OpenSSL from the "sysroot.toml" sinc= e 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= 9;...
Verifying target architecture 'linux-64= 9;...
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/openss= lv.h file. Cannot tell though if pyqtdeploy is supposed to work or not given these lines...


/*
=C2=A0* SECTION 4: BACKWARD COMPATIBILITY
=C2=A0*/

# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.2 15 Mar 2022"

/* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
# ifdef OPENSSL_VERSION_PRE_RELEASE=
#=C2=A0 define _OPENSSL_VERSION_PRE_RELEAS= E 0x0L
# else
#=C2=A0 define _OPENSSL_VERSION_PRE_RELEAS= E 0xfL
# endif
# define OPENSSL_VERSION_NUMBER=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
=C2=A0=C2=A0=C2=A0 ( (OPENSSL_VERSION_MAJOR<&= lt;28)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 |(OPENSSL_VERSION_MINOR<= <20)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 |(OPENSSL_VERSION_PATCH<= <4)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 |_OPENSSL_VERSION_PRE_RELEA= SE )

# ifdef=C2=A0 __cplusplus }
# endif

# include <openssl/macros.h> # ifndef OPENSSL_NO_DEPRECATED_3_0 #=C2=A0 define HEADER_OPENSSLV_H
# endif

#endif=C2=A0=C2=A0=C2=A0=C2= =A0


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_N= UMBER" in "/usr/include/open= ssl/opensslv.h"
* In OpenSSL 1.1.1 (which is installed on my Linux), I can see the line "#define OPENSSL_VERSION_NUMBER&= quot; in=C2=A0 "/usr/include/open= ssl/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 belie= ve that Phil had a way to contribute to plugins for pyqtdeploy, but can't remember where...

Best regards,

KC

Le=C2=A0= jeu. 7 mars 2024 =C3=A0=C2= =A017:56, Kaiser Chief <kaiser.chiefmail@gmail.com> a =C3=A9crit=C2=A0:
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 =3D ""
install_from_source =3D 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.<= /div>

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:

h= ttps://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= =C2=A0jeu. 7 mars 2024 =C3=A0=C2=A017:06, umbertofilippo <umbertof= ilippo@tiscali.it> a =C3=A9crit=C2=A0:
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/pyqtd= eploy/demo.html and
I have downloaded the demo files from
https://files.pythonhosted.org/packages/44/d4/978017382f0ecc4860= 1944c3fc0f58a5c5075a1d3acd48d09c11ee471b05/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=C2=A0"p= ython build-demo.py"=
successfully?


Thanks,


Umberto


--000000000000c11b32061683e3db--