and... it turns out that I am not a rocket scientist :-(
Greetings, fellow developers,
those reading this mailing list regularly know that I have been struggling with
the build of Pyside2...
Well, I think I finally got round of some glitches in the build system and I
would like to publish some notes that might be useful to others in the same
journey... These notes will also be in the net, so I can refer to these
later :-)
Qt 5.15
=======
Debian testing, 20201210
Python3.9, gcc (Debian 10.2.0)
Note: the command lines start with % (using zsh).
First off follow the instructions at
https://doc.qt.io/qtforpython/gettingstarted-linux.html
However some things need to be done that are not described:
In order to succeed in building sphinx/qthelp doc builds:
% apt install python3-sphinxcontrib.qthelp
% cd pyside-setup && git checkout -b 5.15 --track origin/5.15
To make sure the pyside2-tools directory gets populated
% git submodule update --init
Check that the directory is no more empty:
% ls sources/pyside2-tools
In the virtual environment and in pyside-setup run the command:
% python3 setup.py build --reuse-build --qmake=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake
--build-tests --ignore-git 2>&1 | tee ../pyside2-5.15-build-$(today-time).log
Get error:
==========
Regenerating
/home/rusconi/.python-virtual-envs/pyside-setup/build/lib.linux-x86_64-3.9/PySide2/examples/opengl/textures/textures_rc.py
from textures.qrc
In directory /home/rusconi/.python-virtual-envs/pyside-setup:
Running command:
/home/rusconi/.python-virtual-envs/pyside-setup/testenv3_install/py3.9-qt5.15.1-64bit-release/bin/rcc
-g python
/home/rusconi/.python-virtual-envs/pyside-setup/build/lib.linux-x86_64-3.9/PySide2/examples/opengl/textures/textures.qrc
-o
/home/rusconi/.python-virtual-envs/pyside-setup/build/lib.linux-x86_64-3.9/PySide2/examples/opengl/textures/textures_rc.py
setup.py/prepare_packages: [Errno 2] No such file or directory:
'/home/rusconi/.python-virtual-envs/pyside-setup/testenv3_install/py3.9-qt5.15.1-64bit-release/bin/rcc'
error: [Errno 2] No such file or directory:
'/home/rusconi/.python-virtual-envs/pyside-setup/testenv3_install/py3.9-qt5.15.1-64bit-release/bin/rcc'
Traceback (most recent call last):
File "/home/rusconi/.python-virtual-envs/pyside-setup/setup.py", line 296, in
<module>
setup_runner.run_setup()
File
"/home/rusconi/.python-virtual-envs/pyside-setup/build_scripts/setup_runner.py",
line 168, in run_setup
raise RuntimeError(msg)
RuntimeError:
setup.py invocation failed with exit code: 1.
setup.py invocation was: /home/rusconi/.python-virtual-envs/testenv/bin/python3
setup.py build --reuse-build --qmake=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake
--build-tests --ignore-git --internal-build-type=pyside2
Fix:
====
% pushd
/home/rusconi/.python-virtual-envs/pyside-setup/testenv3_install/py3.9-qt5.15.1-64bit-release/bin/
% ln -sf /usr/bin/qtchooser uic
% ln -sf /usr/bin/qtchooser rcc
% python3 setup.py build --reuse-build --qmake=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake
--build-tests --ignore-git 2>&1 | tee ../pyside2-5.15-build-$(today-time).log
Get error:
==========
In directory /home/rusconi/.python-virtual-envs/pyside-setup:
Running command:
/home/rusconi/.python-virtual-envs/pyside-setup/patchelf --set-rpath
$ORIGIN/:/usr/lib/x86_64-linux-gnu
/home/rusconi/.python-virtual-envs/pyside-setup/build/lib.linux-x86_64-3.9/PySide2/pyside2-lupdate
warning: working around a Linux kernel bug by creating a hole of 94208 bytes in
‘/home/rusconi/.python-virtual-envs/pyside-setup/build/lib.linux-x86_64-3.9/PySide2/pyside2-lupdate’
Patched rpath to '$ORIGIN/' (Linux) or updated rpath (OS/X) in
/home/rusconi/.python-virtual-envs/pyside-setup/build/lib.linux-x86_64-3.9/PySide2/pyside2-lupdate.
running build_py
package init file 'sources/pyside2/PySide2/__init__.py' not found (or not a
regular file)
running build_ext
--- Build completed (10s)
Fix:
====
% cp build/lib.linux-x86_64-3.9/PySide2/__init__.py sources/pyside2/PySide2
% python3 setup.py build --reuse-build --qmake=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake --build-tests --ignore-git 2>&1 | tee ../pyside2-5.15-build-$(today-time).log
Build terminates and $? is 0.
Now install:
============
% python3 setup.py install --reuse-build
--qmake=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake --build-tests --ignore-git 2>&1
| tee ../pyside2-5.15-build-$(today-time).log
The install terminates and $? is 0.
Could play Tetrix using
% python3 examples/widgets/widgets/tetrix.py !!!
Done !
Now the hardest part: start writing code for the Python bindings of my lib.
Thanks for listening.
--
⢀⣴⠾⠻⢶⣦⠀ Filippo Rusconi, PhD
⣾⠁⢠⠒⠀⣿⡁ Research scientist at CNRS
⢿⡄⠘⠷⠚⠋⠀ Debian Developer
⠈⠳⣄⠀⠀⠀⠀ http://msxpertsuite.org
http://www.debian.org
_______________________________________________
PySide mailing list
PySide@qt-project.org
https://lists.qt-project.org/listinfo/pyside