Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German)
  • Search

Bug im ebuild dev-python/pyqt6 und dev-python/pyside?

Support-Forum
Diskussionen rund um Installation, Betrieb und Anpassungen von Gentoo und dessen Paketen sowie dabei auftretenden (technischen) Problemen.
Deutsches Portal: www.gentoo.de
Post Reply
  • Print view
Advanced search
13 posts • Page 1 of 1
Author
Message
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

Bug im ebuild dev-python/pyqt6 und dev-python/pyside?

  • Quote

Post by schmidicom » Tue Dec 23, 2025 4:41 pm

Ich habe seit einiger Zeit (vermutlich seit dem letzten Update der entsprechenden Pakete) das Problem das bei den beiden Paketen "dev-python/pyqt6" und "dev-python/pyside" in keiner IDE (weder VSCode, PyCharm noch dem Editor Kate) mehr die Autovervollständigung und Tooltips zu den den Klassen, Methoden und so weiter angezeigt werden. Wenn ich aber in VSCode eine VENV erstelle und darin PySide6 per "pip" installiere funktioniert das alles genau so wie es das soll.

Ich persönlich vermute das es an den "*.pyi"-Dateien liegt, denn das PySide welches über pip installiert wird hat diese Dateien und da stehen auch all diese Informationen für die Autovervollständigung und die Tooltips drin. Wenn aber pyside und/oder pyqt über Portage installiert wird fehlen diese Dateien.

Ist das ein Bug vom Gentoo-Paketsystem oder gewollt?

Installierte Versionen:
dev-python/pyside-6.10.1-r2::gentoo
dev-python/pyqt6-6.10.1::gentoo

Links:
https://typing.python.org/en/latest/spe ... uting.html

pyi-Dateien die über pip installiert wurden:

Code: Select all

~> find Downloads/pyside/ -iname '*.pyi*'
Downloads/pyside/.venv/lib/python3.14/site-packages/shiboken6/Shiboken.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtDataVisualization.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtGraphsWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtHttpServer.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtNfc.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtPdf.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSql.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSvg.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtNetwork.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtTest.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtLocation.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtMultimedia.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtMultimediaWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtXml.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtNetworkAuth.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtOpenGL.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtPrintSupport.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtPdfWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtPositioning.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtQml.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtQuick.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtQuick3D.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtQuickControls2.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtQuickTest.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtQuickWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtRemoteObjects.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtScxml.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSensors.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSerialBus.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSerialPort.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSpatialAudio.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtStateMachine.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtSvgWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtTextToSpeech.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/Qt3DCore.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtUiTools.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWebChannel.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWebEngineCore.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWebEngineQuick.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWebEngineWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWebSockets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWebView.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtWidgets.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/__feature__.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtCharts.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtGraphs.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/Qt3DAnimation.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtGui.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/Qt3DExtras.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/Qt3DInput.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/Qt3DLogic.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/Qt3DRender.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtBluetooth.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtConcurrent.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtCore.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtDBus.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtHelp.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtDesigner.pyi
Downloads/pyside/.venv/lib/python3.14/site-packages/PySide6/QtOpenGLWidgets.pyi
EDIT:
Ich habe jetzt einen Bug eröffnet: https://bugs.gentoo.org/967982
Wenn es gewollt und damit kein Bug ist kann das ja dort jemand beantworten.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Fri Dec 26, 2025 6:45 pm

Wenn es vorher funktioniert hat dann glaube ich kaum, dass es an den pyi files liegt.
Oder geht es auch "kaputt" wenn du in dem VENV die pyi files löschst?
Oder liegt es eventuell eher daran, dass in dem VENV zusätzliche pakete installier sind (z.b der python language server, lsp)

Ich habe es mal auf die schnelle mit kate ausprobiert (lspclient useflag aktiv und python-lsp-server, in version 1.13.1, installiert
Als test habe ich von pyqt6 folgendes example in eine test.py gepackt.

https://github.com/pyqt/examples/tree/_ ... t%20QLabel

Und dort funktioniert es, tooltips erscheinen (wenn auch etwa verzögert) und auch autovervollständigung
Mit Version 1.14.0 von python-lsp-server waren die delays kürzer.

Im Output tab von kate wird nur immer wieder folgende Meldung geloggt
2025-12-26 19:36:41,226 CET - WARNING - pylsp_jsonrpc.endpoint - Received cancel notification for unknown message id <number>
Und zusätzlich noch das ein oder andere mal über fehlende plugins.

Nach der installation von python-lsp-server mit all-plugins useflag aktiv und nachträglich installation on python-lsp-black waren die Warnungen bezüglich fehlender plugins weg
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Fri Dec 26, 2025 8:11 pm

@firefly
"Vorher" ist halt schon etwas länger her weil ich erst jetzt mal wirklich Zeit hatte das genauer zu untersuchen und hoffte das es was temporäres wäre. Ich glaube zuletzt hat es mit Version 6.9 funktioniert, aber auf diese Version lässt mich "emerge" ich nicht mehr zurück ohne alle Qt-Pakete zu downgraden.

Und ja, wenn ich die "*.pyi" aus dem VENV lösche habe ich genau das gleiche Verhalten wie ausserhalb des VENV. Das liegt so weit ich es herausfinden konnte (unter anderem durch Inhaltssuche mit "grep") halt eben daran das die ganzen Informationen welche für die Tooltips und die Autovervollständigungen benutzt werden (zumindest bei "pyside") in eben diesen Dateien liegen. Und das betrifft bei mir alle Umgebungen, egal ob "Visual Studio Code" (was im Gegensatz zu Kate nicht den "dev-python/python-lsp-server" verwendet sondern eine eigene Extension mit dem Namen "Pylance"), Kate oder PyCharm (was da für die Tooltips/Autovervollständigung verwendet wird weiss ich nicht, habe diese IDE nur zum testen installiert). Und stelle ich die "*.pyi"-Dateien in dem VENV wieder her, so funktioniert es direkt wieder genau so wie es das sollte.

Warum "pyside" solche "Python Stub Files" verwendet liegt wohl daran das die PySide-Python-Module alle als Librarys (also "*.so"-Dateien) vorliegen und daraus die Informationen für die Tooltips/Autovervollständigung nicht herausgezogen werden können.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Fri Dec 26, 2025 9:38 pm

schmidicom wrote:Kate oder PyCharm (was da für die Tooltips/Autovervollständigung verwendet wird weis ich nicht, habe diese IDE nur zum testen installiert).
Soll das echt dein ernst sein? In deinem eingang post hast du auch von kate gesprochen, dass es da auch angeblich nicht funktionieren würde.
Was mit dieser Aussage von dir auch kein Wunder ist... Du hast es scheinbar nicht mal korrekt probiert.

Und scheinbar hast du auch den pyqt6 part nicht getestet, da du nur noch von pyside sprichst.

Zum Verständnis.pyqt und pyside stellen die gleiche Funktionalität bereit. Und zwar den zugriff auf das Qt Framework in python code.
pyqt nutzt sip um den "binding code" zu erstellen, und die dafür notwendingen .sip Datein werden auch im system installiert. Soweit ich das verstehe (Wobei ich da jetzt nur sehr wenig zeit für recherche genutzt habe), werden diese von der python lsp genutzt um daten für Autovervollständigung und co zu bekommen.

pyside nutzt einen eigenen entwickelten binding generator namens shiboken6. Dieses erstellt stub files um das gleiche zu erzeugen
Last edited by firefly on Sat Dec 27, 2025 7:53 am, edited 1 time in total.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Sat Dec 27, 2025 7:52 am

schmidicom wrote:Warum "pyside" solche "Python Stub Files" verwendet liegt wohl daran das die PySide-Python-Module alle als Librarys (also "*.so"-Dateien) vorliegen und daraus die Informationen für die Tooltips/Autovervollständigung nicht herausgezogen werden können.
Das ist auch bei pyqt der fall (z.b. PyQt6/QtCore.abi3.so). Beide erstellen CPython module.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Sat Dec 27, 2025 9:39 am

Habe hier noch ein system mit qt 6.9.x und habe da mal die 6.9.x version von pyside installiert.
Dort wurden *.pyi files mit installiert.
Nach den aktuellen bekannten informationen, scheint es so, dass es mit der 6.10.x version des ebuilds für pyside das nicht mehr passiert.

Könntest du folgendes ausprobieren?
statt via emerge alle steps von build, install, merge (ins system fs) durchlaufen zu lassen, werden wir die steps nur bis zur install step (wo die dateinen in einem temp verzeichnis landen vom aus diese Dateien dann in einem nächsten step ins system fs kopiert werden) durchlaufen lassen.

Übersetzen des codes:

Code: Select all

ebuild /var/db/repos/gentoo/dev-python/pyside/pyside-6.10.1-r2.ebuild compile
Ersetze "/var/db/repos/gentoo/" durch den pfad in dem du bei dir das gentoo portage repository liegt.

Nur die install stage laufen lassen:

Code: Select all

ebuild /var/db/repos/gentoo/dev-python/pyside/pyside-6.10.1-r2.ebuild compile
Nun wechsel in einem terminal in das temp verzeichnis (Bei mir ist es "/var/tmp/portage/") in dem die Aktionen durchgeführt werden

Code: Select all

cd /var/tmp/portage/dev-python/
Dann lassen wir uns alle *.pyi files anzeigen

Code: Select all

find -iname "*.pyi"
Es sollten hier einige angezeigt werden. Wobei die wichtigsten welche sich in einem subfolder befinden in dessen parent path der Verzeichnisname "image" enthalten ist, denn diese werden dann in das system fs installiert bei einem späteren step
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Sat Dec 27, 2025 12:16 pm

Das hier habe ich nun in genau dieser Reihehfolge gemacht:

Code: Select all

root@shs-pulse ~# ebuild /var/db/repos/gentoo/dev-python/pyside/pyside-6.10.1-r2.ebuild prepare 
 * pyside-setup-everywhere-src-6.10.1.tar.xz BLAKE2B SHA512 size ;-) ...                                         [ ok ]
 * checking ebuild checksums ;-) ...                                                                             [ ok ]
 * checking auxfile checksums ;-) ...                                                                            [ ok ]
 * checking miscfile checksums ;-) ...                                                                           [ ok ]
 * Using /usr/lib/llvm/20 for CBUILD LLVM 20
 * Using /usr/lib/llvm/20 for CHOST LLVM 20
>>> Unpacking source...
>>> Unpacking 'pyside-setup-everywhere-src-6.10.1.tar.xz' to /var/tmp/portage/dev-python/pyside-6.10.1-r2/work
>>> Source unpacked in /var/tmp/portage/dev-python/pyside-6.10.1-r2/work
>>> Preparing source in /var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1 ...
 * Applying pyside-6.8.2-quick-fix-build-wheel.patch ...                                                         [ ok ]
 * Applying pyside-6.10.0-dont-vendor-ffmpeg.patch ...                                                           [ ok ]
 * Applying pyside-6.10.1-pass-ninja-opts.patch ...                                                              [ ok ]
 * Build system packages:
 *   dev-python/gpep517            : 19
 *   dev-python/installer          : 0.7.0
 *   dev-python/cython             : 3.1.7
 *   dev-python/setuptools         : 80.9.0-r1
 *   dev-python/setuptools-rust    : 
 *   dev-python/setuptools-scm     : 9.2.2
 *   dev-python/wheel              : 0.45.1
>>> Source prepared.

Code: Select all

root@shs-pulse ~# find /var/tmp/portage/ -iname '*.pyi'
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1/sources/shiboken6/shibokenmodule/Shiboken.pyi

Code: Select all

root@shs-pulse ~# ebuild /var/db/repos/gentoo/dev-python/pyside/pyside-6.10.1-r2.ebuild compile
<<< CONTENT CUT >>>

Code: Select all

root@shs-pulse ~# find /var/tmp/portage/ -iname '*.pyi'
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build2/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package_for_wheels/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build2/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build2/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/build/pyside6/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build1/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/install/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build1/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/build/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/install/usr/lib/python3.13/site-packages/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/install/usr/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package_for_wheels/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/install/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/build/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1/sources/shiboken6/shibokenmodule/Shiboken.pyi

Code: Select all

root@shs-pulse ~# ebuild /var/db/repos/gentoo/dev-python/pyside/pyside-6.10.1-r2.ebuild install
>>> Existing ${T}/environment for 'pyside-6.10.1-r2' will be sourced. Run
>>> 'clean' to start with a fresh environment.
>>> Checking pyside-setup-everywhere-src-6.10.1.tar.xz's mtime...
>>> WORKDIR is up-to-date, keeping...
 * checking ebuild checksums ;-) ...                                                                             [ ok ]
 * checking auxfile checksums ;-) ...                                                                            [ ok ]
 * checking miscfile checksums ;-) ...                                                                           [ ok ]
>>> It appears that 'pretend' has already executed for 'pyside-6.10.1-r2'; skipping.
>>> Remove '/var/tmp/portage/dev-python/pyside-6.10.1-r2/.pretended' to force pretend.
>>> It appears that 'setup' has already executed for 'pyside-6.10.1-r2'; skipping.
>>> Remove '/var/tmp/portage/dev-python/pyside-6.10.1-r2/.setuped' to force setup.
>>> It appears that 'unpack' has already executed for 'pyside-6.10.1-r2'; skipping.
>>> Remove '/var/tmp/portage/dev-python/pyside-6.10.1-r2/.unpacked' to force unpack.
>>> It appears that 'prepare' has already executed for 'pyside-6.10.1-r2'; skipping.
>>> Remove '/var/tmp/portage/dev-python/pyside-6.10.1-r2/.prepared' to force prepare.
>>> It appears that 'configure' has already executed for 'pyside-6.10.1-r2'; skipping.
>>> Remove '/var/tmp/portage/dev-python/pyside-6.10.1-r2/.configured' to force configure.
>>> It appears that 'compile' has already executed for 'pyside-6.10.1-r2'; skipping.
>>> Remove '/var/tmp/portage/dev-python/pyside-6.10.1-r2/.compiled' to force compile.
 * Skipping make test/check due to ebuild restriction.
>>> Test phase [disabled because of RESTRICT=test]: dev-python/pyside-6.10.1-r2

>>> Install dev-python/pyside-6.10.1-r2 into /var/tmp/portage/dev-python/pyside-6.10.1-r2/image
 * python3_13: running distutils-r1_run_phase distutils-r1_python_install
 * Using python3.13 in global scope
 * python3_13: running distutils-r1_run_phase distutils-r1_python_install_all
>>> Completed installing dev-python/pyside-6.10.1-r2 into /var/tmp/portage/dev-python/pyside-6.10.1-r2/image

 * Final size of build directory: 2471436 KiB (  2.3 GiB)
 * Final size of installed tree:   340444 KiB (332.4 MiB)

 * Verifying compiled files for python3.13
 * 
 * QA Notice: This package installs one or more Python modules that are
 * not byte-compiled.
 * The following files are missing:
 * 
 *   /usr/lib/python3.13/site-packages/PySide6/scripts/deploy_lib/android/recipes/PySide6/__pycache__/__init__.tmpl.cpython-313.opt-1.pyc
 *   /usr/lib/python3.13/site-packages/PySide6/scripts/deploy_lib/android/recipes/PySide6/__pycache__/__init__.tmpl.cpython-313.opt-2.pyc
 *   /usr/lib/python3.13/site-packages/PySide6/scripts/deploy_lib/android/recipes/PySide6/__pycache__/__init__.tmpl.cpython-313.pyc
 * 
 * For more information on bytecode files and related issues, please see:
 *   https://projects.gentoo.org/python/guide/qawarn.html#compiled-bytecode-related-warnings
 * QA Notice: One or more CMake variables were not used by the project:
 *   BUILD_DOCS
 *   BUILD_TESTS
 *   CMAKE_RULE_MESSAGES
 *   CMAKE_UNITY_BUILD
 *   CMAKE_UNITY_BUILD_BATCH_SIZE
 *   CMAKE_VERBOSE_MAKEFILE
 *   FORCE_LIMITED_API
 *   MAXIMUM_PYTHON_VERSION
 *   MINIMUM_PYTHON_VERSION
 *   MODULES
 *   NO_QT_TOOLS
 *   OpenGL_GL_PREFERENCE
 *   PACKAGE_SETUP_PY_PACKAGE_TIMESTAMP
 *   PACKAGE_SETUP_PY_PACKAGE_VERSION
 *   Python_EXECUTABLE
 *   Python_INCLUDE_DIR
 *   Python_LIBRARY
 *   QFP_NO_OVERRIDE_OPTIMIZATION_FLAGS
 *   QFP_NO_STRIP
 *   QFP_SHIBOKEN_TARGET_PATH
 *   Qt5Help_DIR
strip: x86_64-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version
   /usr/lib/python3.13/site-packages/shiboken6/Shiboken.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtConcurrent.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/shiboken6/libshiboken6.cpython-313-x86_64-linux-gnu.so.6.10
   /usr/lib/python3.13/site-packages/PySide6/QtBluetooth.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtDBus.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtCore.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/shiboken6_generator/shiboken6
   /usr/lib/python3.13/site-packages/PySide6/QtOpenGLWidgets.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtGui.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtNetwork.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtOpenGL.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtPrintSupport.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtQml.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtSql.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtSvg.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtSvgWidgets.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtTest.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtWebChannel.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtXml.cpython-313-x86_64-linux-gnu.so
   /usr/lib/python3.13/site-packages/PySide6/QtWidgets.cpython-313-x86_64-linux-gnu.so
   /usr/lib64/qt6/plugins/designer/libPySidePlugin.so
   /usr/lib/python3.13/site-packages/PySide6/libpyside6.cpython-313-x86_64-linux-gnu.so.6.10
   /usr/lib/python3.13/site-packages/PySide6/libpyside6qml.cpython-313-x86_64-linux-gnu.so.6.10

Code: Select all

root@shs-pulse ~# equery f dev-python/pyside | grep -i pyi
/usr/bin/pyside6-genpyi
/usr/bin/shiboken6-genpyi
/usr/lib/python-exec/python3.13/pyside6-genpyi
/usr/lib/python-exec/python3.13/shiboken6-genpyi
/usr/lib/python3.13/site-packages/PySide6/__feature__.pyi
/usr/lib/python3.13/site-packages/PySide6/support/__pycache__/generate_pyi.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/PySide6/support/__pycache__/generate_pyi.cpython-313.opt-2.pyc
/usr/lib/python3.13/site-packages/PySide6/support/__pycache__/generate_pyi.cpython-313.pyc
/usr/lib/python3.13/site-packages/PySide6/support/generate_pyi.py
/usr/lib/python3.13/site-packages/shiboken6/Shiboken.pyi

Code: Select all

root@shs-pulse ~# find /var/tmp/portage/ -iname '*.pyi'
/var/tmp/portage/dev-python/pyside-6.10.1-r2/image/usr/lib/python3.13/site-packages/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/image/usr/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build2/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package_for_wheels/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build2/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build2/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/build/pyside6/PySide6/__feature__.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build1/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/install/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build1/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/build/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package_for_wheels/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/package/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/install/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build0/qfp-py3.13-qt6.10.1-64bit-relwithdebinfo/build/shiboken6/Shiboken.pyi
/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1/sources/shiboken6/shibokenmodule/Shiboken.pyi
Und hier noch das build.log als separate Datei (weil das nur das Forum verstopfen würde):
https://drive.google.com/file/d/1mDYAXL ... sp=sharing
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Sat Dec 27, 2025 3:50 pm

Es scheint kein problem mit den sourcen zu sein, denn folgende *.pyi datei wurde installiert:
/usr/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
Hier wie es im tmp folder platziert ist unter image Verzeichnis:
/var/tmp/portage/dev-python/pyside-6.10.1-r2/image/usr/lib/python3.13/site-packages/shiboken6/Shiboken.pyi
Sieht jetzt eher nach einem Problem vom ebuild aus. Bei dem beim bauen der einzelnen module (z.b. for qtbase) werden die pyi files anscheinend nicht erzeugt.
Wäre es nur ein install step problem, würden die anderen pyi files nur unter dem image verzeichnis fehlen.
Da die stub files wohl für die Nutzung der python module nicht relevant sind, scheint dieses Problem nicht aufgefallen zu sein.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Sat Dec 27, 2025 4:29 pm

Habe mal etwas in den cmake source files gestöbert und bin auf folgendes gestoßen.

Die Generierung der *.pyi Dateien wird nicht gemacht, wenn eines der folgenden Bedingungen erfüllt ist.
  • Die Erstellung der Dateien wurde explizit deaktiviert (Es gibt die cmake variable DISABLE_PYI)
  • Bei der Konfiguration des Builds wurde erkannt, dass es sich um ein cross build handelt (cmake variable PYSIDE_IS_CROSS_BUILD)
Leider konnte ich aus dem build log nicht ersehen ob eines der beiden cmake variablen einen Wert hat, welcher in einem IF das ergebnis true ergibt.
EDIT: Gefunden, zu mindestens bei mir wurde PYSIDE_IS_CROSS_BUILD=TRUE gesetzt (wo ich die 6.10.1-r2 ebuild via dem ebuild command bis zum step compile habe laufen lassen.

Und habe auch die Stelle gefunden wo diese Variable gesetzt wird.
Und zwar in der Datei: sources/pyside6/cmake/PySideHelpers.cmake
Und dort im cmake function deklarationsblock für die funktion pyside_internal_detect_if_cross_building
Hier der Block:

Code: Select all

function(pyside_internal_detect_if_cross_building)
    if(CMAKE_CROSSCOMPILING OR QFP_SHIBOKEN_HOST_PATH)
        set(is_cross_build TRUE)
    else()
        set(is_cross_build FALSE)
    endif()
    set(PYSIDE_IS_CROSS_BUILD "${is_cross_build}" PARENT_SCOPE)
    message(STATUS "PYSIDE_IS_CROSS_BUILD: ${PYSIDE_IS_CROSS_BUILD}")
endfunction()
Es handelt sich um ein cross build, wenn entweder CMAKE selbst sagt, dass es sich um ein cross build handelt (via CMAKE_CROSSCOMPILING variable)
Oder wenn die Variable QFP_SHIBOKEN_HOST_PATH gesetzt ist.

In meinem test waren die Werte für diese beiden Variablen wie folgt
  • CMAKE_CROSSCOMPILING: FALSE
  • QFP_SHIBOKEN_HOST_PATH: =/var/tmp/portage/dev-python/pyside-6.10.1-r2/work/pyside-setup-everywhere-src-6.10.1-python3_13/build1/qfp-py3.13-qt6.9.3-64bit-relwithdebinfo/install
shiboken-host-path wird im ebuild nur im folgenden block gesetzt:

Code: Select all

# If no pyside modules enabled, build just shiboken
	if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then
		DISTUTILS_ARGS=(
			"${MAIN_DISTUTILS_ARGS[@]}"
			--reuse-build
			--shiboken-host-path=="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
			--shiboken-target-path="${BUILD_DIR}/build$((${#DISTUTILS_WHEELS[@]}-1))/${pyside_build_dir}/install"
			--build-type=pyside6
		)
		distutils-r1_python_compile
	fi
Entweder ist ENABLED_QT_MODULES empty oder der block macht nicht das was es, laut kommentar, machen soll: nur shiboken bauen.
Denn wenn ENABLED_QT_MODULES leer ist (aka das if = true ergibt) dann werden trotzdem die einzelnen pyside module (z.b. für qtobengl) gebaut und nicht nur shiboken

EDIT: Ich hab das if missverstanden. Der block wird ausgeführt, wenn ENABLED_QT_MODULES mindestens 1 Item enthält (-gt = greater then)
Last edited by firefly on Sat Dec 27, 2025 7:49 pm, edited 1 time in total.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Sat Dec 27, 2025 5:56 pm

Ich habe mir das ebuild auch angesehen, aber Shell Skripte sind und bleiben nicht mein Ding.
Hoffentlich können die Gentoo Devs von dem ebuild das fixen, denn ohne diese "Python Stub Files" ist bleibt jede IDE im Blindflug unterwegs.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
Nowa
Developer
Developer
User avatar
Posts: 522
Joined: Wed Jun 25, 2014 7:07 am
Location: Hilversum

  • Quote

Post by Nowa » Sat Dec 27, 2025 9:28 pm

Package maintainer here. My German skills are a bit rough, I can read but not really write. Replying here anyway since I feel there is important information here that is not currently in the bug report. As I now understand it from the above posts, the pyi files are missing because PYSIDE_IS_CROSS_BUILD is set, which is now set because SHIBOKEN_HOST_PATH is set.

That sounds like it is a side-effect of my fix: https://gitweb.gentoo.org/repo/gentoo.g ... 55b241f8f6

The fix was required because the build system was no longer correctly picking up the version of shiboken that was just built resulting in "shiboken not found" errors. In previous versions "shiboken-target-path" was enough, in 6.10 "shiboken-host-path" is somehow also required.

The best chance of getting this fixed is to experiment with possible options in the build system, this is slow and tedious and if I have to do it myself then it will take quite some time to find a solution since I'm a bit busy at the moment. So help is very much appreciated here. Please do report any useful findings on the bug tracker as well: https://bugs.gentoo.org/967982
OS: Gentoo 6.19.3-gentoo-dist, ~amd64, 23.0/desktop/plasma/systemd
MB: MSI Z370-A PRO
CPU: Intel Core i9-9900KS
GPU: Intel Arc A770 16GB & Intel UHD Graphics 630
SSD: Samsung 970 EVO Plus 2 TB
RAM: Crucial Ballistix 32GB DDR4-2400
Top
firefly
Watchman
Watchman
Posts: 5385
Joined: Thu Oct 31, 2002 8:24 pm

  • Quote

Post by firefly » Sun Dec 28, 2025 8:47 am

Nowa wrote:Package maintainer here. My German skills are a bit rough, I can read but not really write. Replying here anyway since I feel there is important information here that is not currently in the bug report. As I now understand it from the above posts, the pyi files are missing because PYSIDE_IS_CROSS_BUILD is set, which is now set because SHIBOKEN_HOST_PATH is set.

That sounds like it is a side-effect of my fix: https://gitweb.gentoo.org/repo/gentoo.g ... 55b241f8f6

The fix was required because the build system was no longer correctly picking up the version of shiboken that was just built resulting in "shiboken not found" errors. In previous versions "shiboken-target-path" was enough, in 6.10 "shiboken-host-path" is somehow also required.

The best chance of getting this fixed is to experiment with possible options in the build system, this is slow and tedious and if I have to do it myself then it will take quite some time to find a solution since I'm a bit busy at the moment. So help is very much appreciated here. Please do report any useful findings on the bug tracker as well: https://bugs.gentoo.org/967982
From the documentation of this parameter says that it should be used when cross-compiling. So this seems not be the correct solution
--shiboken-host-path Path to host shiboken package when cross-compiling
Form what I found the already used parameter shiboken-target-path should be the correct way. But why the value seems to be no longer working is strange.
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Top
schmidicom
Advocate
Advocate
User avatar
Posts: 2013
Joined: Thu Mar 09, 2006 5:56 pm
Location: Schweiz

  • Quote

Post by schmidicom » Mon Dec 29, 2025 10:59 am

I would just like to say thank you here.
Thank you to ‘firefly’ for finding the cause and thank you to ‘Nowa’ for accepting and working on the bug. Hopefully you will be able to find a suitable solution.
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Top
Post Reply
  • Print view

13 posts • Page 1 of 1

Return to “Deutsches Forum (German)”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic