staging.inyokaproject.org

Archiv/Falkon/Kompilieren

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |
Dieses Thema ist die Diskussion des Artikels Archiv/Falkon/Kompilieren.

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Hi!

??? libicu66, also, bei mir in 20.04 direkt aus den Quellen, gibt es anscheinend aber auch nur für 20.04 (und dafür ist ja das PPA auch ausgelegt). Wobei mir nicht klar ist, wofür das gebraucht wird. Ah, jetzt sehe ich, du hast ein i zuviel libicui66.

Bei mir fehlen die Icon für etliche Schaltflächen und im Dropdown-Menüs, siehe Anhang.

Wie sieht es denn bei dir mit PyPython-support aus?

so long
hank

Bilder

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Ja, was so ein Buchstabe ausmachen kann… Danke fürs korrigieren.
Was Python-Support angeht: Wie teste ich das denn?

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Hi!

Naja "testen" ist dafür etwas übertrieben. Was gibt es im Terminal für Meldungen, wenn du Falkon da startest? Da wird sofort klar, ob PyPython-Support funktioniert oder nicht, es gibt eine entsprechende Ausgabe, und eine Fehlermeldung, wenn es zwar "einkompiliert" ist, aber trotzdem nicht geht:

Falkon: Python plugin support initialized
Traceback (most recent call last):
  File "/usr/lib/x86_64-linux-gnu/plugins/falkon/runaction/runaction.py", line 28, in init
    plugins = Falkon.MainApplication.instance().plugins()
AttributeError: 'PySide2.QtCore.QCoreApplication' object has no attribute 'plugins'

Spaßeshalber kannst du auch ein paar Extentions aktivieren, auch das gibt ähnliche Ergebnisse im Terminal, wenn es nicht geht.

so long
hank

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Use of deprecated not thread-safe setter, use setUrlRequestInterceptor instead.
Falkon: Python plugin support initialized
Please register the custom scheme 'mtp' via QWebEngineUrlScheme::registerScheme() before installing the custom scheme handler.
…Viele Please register…
Please register the custom scheme 'filenamesearch' via QWebEngineUrlScheme::registerScheme() before installing the custom scheme handler.
Please register the custom scheme 'ar' via QWebEngineUrlScheme::registerScheme() before installing the custom scheme handler.
Cannot initialize model with data QJsonObject() . missing: QJsonValue(string, "urls")
PyFalkon.PluginInterface.InitState.StartupInitState /home/user/.config/falkon/profiles/default/extensions
Falkon: 3 extensions loaded

Sieht für mich aus, als wäre der Support für eigene Typen aktiv, aber nicht richtig eingerichtet. An der Stelle bin ich auch überfragt. Laut Qt5:QWebEngineUrlSchemeHandler müssen alle Registrierungen vor der Instanz der QApplication initialisiert werden. Dazu müsste ich mich in den falkon einlesen und ich brauche zu lange für sowas 😉 (ist halt doch nur ein Hobby).

Ob das Plugin mit einkompiliert wird, steht ja in der cmake-Ausgabe. Dort werden alle optionalen und Pflichtpakete samt Fundstelle angegeben, wenn sie gefunden wurden.

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Hi!

Please register the custom scheme 'mtp' via QWebEngineUrlScheme::registerScheme() before installing the custom scheme handler.
und so weiter

Diese Meldungen wirft auch der Falkon aus den Quellen für 20.04 aus; scheint aber keinen Einfluss auf die Funktion zu haben. Aber dass es bei dir keine Ausgabe in der Art

AttributeError: 'PySide2.QtCore.QCoreApplication' object has no attribute 'plugins'

gibt, ist ja schon ein Fortschritt... Da scheint bei mir unter der 20.04-GNOME-Version ja etwas zu fehlen, was deinen 20.10-KDE-Installation an Bord hat. Was passiert denn, wenn du z.B. den "Mittelklick-Lader" installierst, der in deiner Extentions-Liste ja auftaucht?

so long
hank

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Heinrich_Schwietering schrieb:

Was passiert denn, wenn du z.B. den "Mittelklick-Lader" installierst, der in deiner Extentions-Liste ja auftaucht?

Nix. Keine Ausgabe in der Konsole. Wenn ich dann einen Mittelklick auf die Tabs-Leiste mache, kommen debug-Ausgaben:

mousePress 1 TabBar(0x55f5cb8453f0, name = "tabbarwidget") 0x7ffdd5206130
mousePress PyFalkon.Qz.ObjectName.ON_TabBar <PyFalkon.TabBar(0x55f5cb8453f0, name="tabbarwidget") at 0x7f1098c7fc40> <PySide2.QtGui.QMouseEvent object at 0x7f1098c7fc80>
mousePress 1 TabBar(0x55f5cb8453f0, name = "tabbarwidget") 0x7ffdd5206130
mousePress PyFalkon.Qz.ObjectName.ON_TabBar <PyFalkon.TabBar(0x55f5cb8453f0, name="tabbarwidget") at 0x7f1098c7fc40> <PySide2.QtGui.QMouseEvent object at 0x7f1098c7fc80>
mousePress 1 TabBar(0x55f5cb8453f0, name = "tabbarwidget") 0x7ffdd5206130
mousePress PyFalkon.Qz.ObjectName.ON_TabBar <PyFalkon.TabBar(0x55f5cb8453f0, name="tabbarwidget") at 0x7f1098c7fc40> <PySide2.QtGui.QMouseEvent object at 0x7f1098c7fc80>
mousePress 1 TabBar(0x55f5cb8453f0, name = "tabbarwidget") 0x7ffdd5206130
mousePress PyFalkon.Qz.ObjectName.ON_TabBar <PyFalkon.TabBar(0x55f5cb8453f0, name="tabbarwidget") at 0x7f1098c7fc40> <PySide2.QtGui.QMouseEvent object at 0x7f1098c7fc80>

PySide/PyQt scheint zu funktionieren. Wie sieht denn deine cmake-Ausgabe aus? Vielleicht fehlt dir noch ein Paket?

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Hi!

cmake.txt sieht so aus:

-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 

-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found XCB_XCB: /usr/lib/x86_64-linux-gnu/libxcb.so (found version "1.14") 
-- Found XCB_UTIL: /usr/lib/x86_64-linux-gnu/libxcb-util.so (found version "0.4.0") 
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so (found version "1.14") found components: XCB UTIL 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1f")  
-- Found KF5Archive: /usr/lib/x86_64-linux-gnu/cmake/KF5Archive/KF5ArchiveConfig.cmake (found version "5.68.0") 
-- Found KF5: success (found version "5.68.0") found components: Archive 
-- PySide2Config: Using default python: .cpython-38-x86_64-linux-gnu
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.5", minimum required is "3") 
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found suitable version "3.8.5", minimum required is "3") 
-- SHIBOKEN_PYTHON_INCLUDE_DIRS computed to value: '/usr/include/python3.8'
-- SHIBOKEN_PYTHON_LIBRARIES computed to value: ''
-- libshiboken built for RelWithDebInfo
-- Found Python3: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found version "3.8") found components: Development 
-- Found Intl: /usr/include  
-- The following OPTIONAL packages have been found:

 * KF5Wallet (required version >= 5.54.0), KDE Frameworks Integration plugin
 * KF5Service (required version >= 5.68.0)
 * KF5Completion (required version >= 5.68.0)
 * KF5ItemViews (required version >= 5.68.0)
 * KF5JobWidgets (required version >= 5.68.0)
 * KF5Solid (required version >= 5.68.0)
 * KF5Auth (required version >= 5.68.0)
 * KF5Codecs (required version >= 5.68.0)
 * KF5WidgetsAddons (required version >= 5.68.0)
 * KF5ConfigWidgets (required version >= 5.68.0)
 * KF5XmlGui (required version >= 5.68.0)
 * KF5KIO (required version >= 5.54.0), KDE Frameworks Integration plugin
 * KF5Crash (required version >= 5.54.0), KDE Frameworks Integration plugin
 * KF5CoreAddons (required version >= 5.68.0), KDE Frameworks Integration plugin
 * KF5Purpose (required version >= 5.54.0), KDE Frameworks Integration plugin
 * PySide2 (required version >= 2.0.0), Python plugins
 * Shiboken2 (required version >= 2.0.0), Python plugins
 * Python3, Python plugins
 * Intl

-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.27.0), Extra CMake Modules., <https://commits.kde.org/extra-cmake-modules>
 * Qt5Sql
 * Qt5Qml (required version >= 5.15.1)
 * Qt5QmlModels (required version >= 5.15.1)
 * Qt5Quick (required version >= 5.15.1)
 * Qt5QuickWidgets
 * Qt5PrintSupport
 * Qt5WebChannel
 * Qt5Positioning (required version >= 5.15.0)
 * Qt5WebEngineCore (required version >= 5.15.0)
 * Qt5WebEngine (required version >= 5.9.0)
 * Qt5WebEngineWidgets (required version >= 5.9.0)
 * Qt5Test
 * XCB, X protocol C-language Binding, <https://xcb.freedesktop.org/>
 * Qt5X11Extras
 * Qt5 (required version >= 5.9.0)
 * OpenSSL
 * KF5Archive
 * KF5
 * Qt5Gui (required version >= 5.12.0)
 * Qt5Widgets (required version >= 5.12.0)
 * Qt5Network (required version >= 5.12.0)
 * Qt5DBus (required version >= 5.12.0)
 * Qt5Core (required version >= 5.12.0)
 * PythonInterp (required version >= 3)
 * PythonLibs (required version >= 3)

-- Configuring done
-- Generating done
-- Build files have been written to: /home/heinrich/Downloads/Software/64-bit/falkon-master/build

Anscheinend ja keine Fehler, aber kein PyPlugiin-support (Ausgabe ist für den build mit master-branch)

so long
hank

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Ja, cmake sieht gleich aus. Wie aktuell ist denn dein Falkon? Ich habe den master-branch am 02.12. geklont und seither nicht aktualisiert (weil ich drin rumgespielt habe 😇 😀 ). Da gab es allerdings eine Änderung bei dem shiboken-Teil, vielleicht fehlt dir dieser Patch ja?

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Hi!

Meine Version des Masterbranch ist vom 22.11; ich versuchs mal mit nem neueren...

so long
hank

EDIT: Nö, die letzte Änderung ist vom 20.11., da ging es um einen fix für shiboken 5.15.2...

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Heinrich_Schwietering schrieb:

Meine Version des Masterbranch ist vom 22.11; ich versuchs mal mit nem neueren...

der Commit ist vom 20., den hast du also schon drin. Ich durchforste mal die CMakeLists…

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Genau, siehe Edith oben, hatte deinen Post nicht gesehen..

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Ich habe was zur Übersetzung gefunden: Du musst zunächst das Verzeichnis erstellen und die Strings extrahieren. https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems kannst du dir angucken, es ist aber eine nervige Fuddelei… Kurzversion:

apt install kdesdk-scripts # für extractrc
cd ~/falkon # quellverzeichnis
extractrc $(find . -name \*.rc -o -name \*.ui -o -name \*.kcfg -name \*.cc -o -name \*.cpp -o -name \*.h -name \*.qml) >> strings.cpp # dummy file
mkdir -p po
xgettext -a --qt strings.cpp -o po/falkon.pot

Dann kannst du dir Übersetzungen schreiben. Wie man die fertigen nutzt, weiß ich leider nicht. Da könntest du mal Shakesbier anhauen, der arbeitet ja mit Qt-Translation.


Wir könnten nun noch das resultierende Makefile vergleichen, sind ja nur rund 1500 Zeichen 😉 Du musst nur /user/falkon/ durch deinen Nutzer/Pfad ersetzen… ⇨ Falkon Makefile

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Hi!

Hab jetzt mal alle Pakete aus dem PPA installiert; und ich scheine die Icons miterwischt zu haben, jedenfalls sind jetzt alle Buttons sichtbar und mit richtigem Motiv belegt.... Welches genau dafür zuständig ist, weiß ich leider nicht; vielleicht war es qt515svg?

Leider hat es aber nicht dazu geführt, dass der PyPluginSupport funktioniert. Makefile: makefile falkon qt 5.15.1 hank

so long
hank

PS: Das erste was auffällt: dein Makefile ist etwa hundert Zeilen länger...

PS: Das zweite was auffällt: Ich kann dein Makefile zwar benutzen, aber es ändern nichts daran, dass der PyPlugin-support nicht funktioniert. 😉

Edit: Das Paket für die Icons war tatsächlich qt515svg; es ist zum Bauen nicht notwendig, wird aber zur Darstellung gebraucht.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Okay, bevor wir noch länger rumraten, setze ich mir ein Kubuntu 20.04 auf und versuche es da noch mal. Du könntest es ja mal mit aktuelleren Python-Versionen versuchen. Dieses Shiboken greift bspw. auf c++-Teile und den Speicher zu. Wäre ein Versuch wert. Ich melde mich, wenn ich so weit bin.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Shiboken braucht Python 3.5+ oder neuer, von daher sollte das egal sein.

Was mir nicht klar ist, da mir der Satz in der Doku zu Shiboken bei Qt nicht klar ist: es könnte sein, dass Shiboken und PySide gegen die eingesetzte Qt Version gebaut sein müssen (wäre in sofern logisch, als dass Shiboken ja "nur" den Wrapper C++ API → Python API baut). D.h. mit Shiboken und PySide aus den Quellen vs. Qt aus dem PPA wäre das nicht gegeben.

Gruß, noisefloor