This is a multi-part message in MIME format. --------------i9hQ0z0Sr0Vcq75nCkGYXnm2 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi KC and thanks again for your suopport! I have included it in my toml file, then tried to build the project and I got the error: "Project ERROR: Unknown module(s) in QT: multimedia linux" I then googled and understood I might need to install QtMultimedia on my system (Linux Mint 20). I then did `sudo apt install qtmultimedia5-dev libqt5multimedia5 libqt5multimedia5-plugins` (not sure if all were necessary), and now during the make command I receive a new error: ``` /usr/bin/ld: cannot find -lQtMultimedia: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile:210: memory] Error 1 ``` I tried to find out how to solve the problem but after some search I could figure it out. I guess it still has to do with some missing components, but I could not find the proper page with a list of all the needed libraries. Do you or anyone else has it? Thanks again for your time, really appreciated Umberto On 4/20/24 11:32, Kaiser Chief wrote: > 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 > 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 >>> 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 >>> 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 >>> 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 >>> #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 à 18:28, Charles >>> 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 >>> 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 >>> # 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 >>> >>> 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 >>> >>> 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 >>> >>> --------------i9hQ0z0Sr0Vcq75nCkGYXnm2 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

Hi KC and thanks again for your suopport!


I have included it in my toml file, then tried to build the project and I got the error: "Project ERROR: Unknown module(s) in QT: multimedia linux"


I then googled and understood I might need to install QtMultimedia on my system (Linux Mint 20).

I then did `sudo apt install qtmultimedia5-dev libqt5multimedia5 libqt5multimedia5-plugins` (not sure if all were necessary), and now during the make command I receive a new error:


```

/usr/bin/ld: cannot find -lQtMultimedia: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:210: memory] Error 1

```


I tried to find out how to solve the problem but after some search I could figure it out.

I guess it still has to do with some missing components, but I could not find the proper page with a list of all the needed libraries.


Do you or anyone else has it?


Thanks again for your time, really appreciated


Umberto


On 4/20/24 11:32, Kaiser Chief wrote:
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, <umbertofilippo@tiscali.it> 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 <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@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@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@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, 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@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@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@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@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


--------------i9hQ0z0Sr0Vcq75nCkGYXnm2--