Bug 497450 - Falkon source code cannot be compiled with BUILD_PYTHON_SUPPORT=ON in Tuxedo OS 4 installation
Summary: Falkon source code cannot be compiled with BUILD_PYTHON_SUPPORT=ON in Tuxedo ...
Status: RESOLVED UPSTREAM
Alias: None
Product: Falkon
Classification: Applications
Component: general (show other bugs)
Version: 24.12.0
Platform: Other Linux
: NOR major
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-14 11:21 UTC by Jens
Modified: 2024-12-14 13:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens 2024-12-14 11:21:23 UTC
1. Set local git repository to Falkon in version 24.12.0:

----------

<User name>@<Hostname>:/opt/falkon/falkon$ git reset --hard  v24.12.0
HEAD is now at b0a6e7a68 GIT_SILENT Sync po/docbooks with svn
<User name>@<Hostname>:/opt/falkon/falkon$

----------


2. Several symlinks have to be defined in order to fix several "not found" compilation errors:

----------

# cd /usr/lib/
# mkdir bin
# cd bin
# ln -s /usr/bin/shiboken6
# ls -ahl shiboken6
lrwxrwxrwx 1 root root 18 Dez 13 18:21 shiboken6 -> /usr/bin/shiboken6

# cd /usr/lib
# mkdir include
# cd include
# ln -s /usr/include/PySide6
# ls -ahl PySide6
lrwxrwxrwx 1 root root 20 Dez 13 18:30 PySide6 -> /usr/include/PySide6

root@<Hostname>:/usr/share/PySide6/doc# ls -ahl qtwebenginecore.rst
lrwxrwxrwx 1 root root 64 Dez 13 21:19 qtwebenginecore.rst -> /usr/share/doc/python-pyside6-doc/doc/extras/QtWebEngineCore.rst

----------


3. Configure compilation process with the following command in the build folder:

$ cmake .. --fresh --install-prefix=$FALKON_PATH_IN_OPT -D BUILD_PYTHON_SUPPORT=ON -DCMAKE_BUILD_TYPE=Debug -Wno-dev


4. This is the result of the configure process (partial quote from it):

----------

-- Found Python3: /usr/include/python3.12 (found version "3.12.3") found components: Development Development.Module Development.Embed
-- PySide6Config: Using default python: .abi3
-- Found Python: /usr/bin/python3 (found suitable version "3.12.3", minimum required is "3") found components: Interpreter Development Development.Module Development.Embed
-- PYTHON_LIMITED_LIBRARIES:
-- SHIBOKEN_PYTHON_INCLUDE_DIRS computed to value: '/usr/include/python3.12'
-- SHIBOKEN_PYTHON_LIBRARIES computed to value: ''
-- libshiboken built for Release
-- Found Intl: built in to C library
-- The following OPTIONAL packages have been found:

 * OpenGL
 * Qt6Sql (required version >= 6.4.0)
 * Qt6QuickTools (required version >= 6.8.0)
 * Qt6QuickWidgets (required version >= 6.4.0)
 * Qt6PrintSupport (required version >= 6.4.0)
 * Qt6WebChannel (required version >= 6.4.0)
 * Qt6WebEngineCoreTools (required version >= 6.8.0)
 * Qt6Test (required version >= 6.4.0)
 * Qt6Core5Compat
 * Qt6CoreTools (required version >= 6.8.0)
 * XKB (required version >= 0.5.0), XKB API common to servers and clients., <http://xkbcommon.org>
 * WrapVulkanHeaders
 * Qt6GuiTools (required version >= 6.8.0)
 * KF6Wallet (required version >= 5.240.0), KDE Frameworks Integration plugin
 * Qt6DBusTools (required version >= 6.8.0)
 * Qt6QmlTools (required version >= 6.8.0)
 * Qt6WidgetsTools (required version >= 6.8.0)
 * Qt6Widgets (required version >= 6.5.0)
 * Qt6Network (required version >= 6.5.0)
 * KF6KIO (required version >= 5.240.0), KDE Frameworks Integration plugin
 * KF6Crash (required version >= 5.240.0), KDE Frameworks Integration plugin
 * KF6CoreAddons (required version >= 5.240.0), KDE Frameworks Integration plugin
 * KF6Purpose (required version >= 5.240.0), KDE Frameworks Integration plugin
 * KF6JobWidgets (required version >= 5.240.0), KDE Frameworks Integration plugin
 * Python3, Python plugins
 * PySide6 (required version >= 6.4.0), Python plugins
 * Shiboken6 (required version >= 6.4.0), Python plugins
 * Shiboken6Tools (required version >= 6.4.0), Python plugins
 * Intl
 * Qt6LinguistTools

-- The following REQUIRED packages have been found:

 * ECM (required version >= 5.240.0), Extra CMake Modules., <https://invent.kde.org/frameworks/extra-cmake-modules>
 * Qt6WebEngineCore (required version >= 6.4.0)
 * Qt6WebEngineWidgets (required version >= 6.4.0)
 * XCB, X protocol C-language Binding, <https://xcb.freedesktop.org/>
 * OpenSSL
 * KF6Archive
 * KF6
 * Qt6Core (required version >= 6.5.0)
 * Gettext
 * KF6I18n
 * Python (required version >= 3)
 * Qt6

-- Configuring done (35.9s)
-- Generating done (2.5s)
-- Build files have been written to: /opt/falkon/falkon/build
<User name>@<Hostname>:/opt/falkon/falkon/build$

----------

5. Compilation error:

----------

[...]
[ 69%] Automatic MOC for target FlashCookieManager
qt.shiboken: (pyfalkon) /usr/share/PySide6/typesystems/typesystem_webenginecore.xml:77:70: Error: Cannot find snippet "qwebenginepage-runjavascript" in /usr/share/PySide6/doc/qtwebenginecore.rst.
qt.shiboken: (pyfalkon) /opt/falkon/falkon/src/plugins/PyFalkon/typesystem_pyfalkon.xml:3:72: Error: Failed to parse: 'typesystem_webenginecore.xml'
Cannot parse file: /opt/falkon/falkon/src/plugins/PyFalkon/typesystem_pyfalkon.xmlshiboken: Error running ApiExtractor.
Command line:
    "--generator-set=shiboken"
    "--enable-parent-ctor-heuristic"
    "--enable-pyside-extensions"
    "--enable-return-value-heuristic"
    "--use-isnull-as-nb_nonzero"
    "--avoid-protected-hack"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtCore"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtGui"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtSql"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtWidgets"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtNetwork"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtWebEngineCore"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtWebEngineWidgets"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtPrintSupport"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-I/opt/falkon/falkon/src/lib/3rdparty"
    "-I/opt/falkon/falkon/src/lib/adblock"
    "-I/opt/falkon/falkon/src/lib/app"
    "-I/opt/falkon/falkon/src/lib/autofill"
    "-I/opt/falkon/falkon/src/lib/bookmarks"
    "-I/opt/falkon/falkon/src/lib/cookies"
    "-I/opt/falkon/falkon/src/lib/downloads"
    "-I/opt/falkon/falkon/src/lib/history"
    "-I/opt/falkon/falkon/src/lib/navigation"
    "-I/opt/falkon/falkon/src/lib/network"
    "-I/opt/falkon/falkon/src/lib/notifications"
    "-I/opt/falkon/falkon/src/lib/opensearch"
    "-I/opt/falkon/falkon/src/lib/other"
    "-I/opt/falkon/falkon/src/lib/plugins"
    "-I/opt/falkon/falkon/src/lib/popupwindow"
    "-I/opt/falkon/falkon/src/lib/preferences"
    "-I/opt/falkon/falkon/src/lib/session"
    "-I/opt/falkon/falkon/src/lib/sidebar"
    "-I/opt/falkon/falkon/src/lib/tabwidget"
    "-I/opt/falkon/falkon/src/lib/tools"
    "-I/opt/falkon/falkon/src/lib/webengine"
    "-I/opt/falkon/falkon/src/lib/webtab"
    "-I/opt/falkon/falkon/tests/modeltest"
    "-I/opt/falkon/falkon/src/lib/3rdparty"
    "-I/opt/falkon/falkon/src/lib/adblock"
    "-I/opt/falkon/falkon/src/lib/app"
    "-I/opt/falkon/falkon/src/lib/autofill"
    "-I/opt/falkon/falkon/src/lib/bookmarks"
    "-I/opt/falkon/falkon/src/lib/cookies"
    "-I/opt/falkon/falkon/src/lib/downloads"
    "-I/opt/falkon/falkon/src/lib/history"
    "-I/opt/falkon/falkon/src/lib/navigation"
    "-I/opt/falkon/falkon/src/lib/network"
    "-I/opt/falkon/falkon/src/lib/notifications"
    "-I/opt/falkon/falkon/src/lib/opensearch"
    "-I/opt/falkon/falkon/src/lib/other"
    "-I/opt/falkon/falkon/src/lib/plugins"
    "-I/opt/falkon/falkon/src/lib/popupwindow"
    "-I/opt/falkon/falkon/src/lib/preferences"
    "-I/opt/falkon/falkon/src/lib/session"
    "-I/opt/falkon/falkon/src/lib/sidebar"
    "-I/opt/falkon/falkon/src/lib/tabwidget"
    "-I/opt/falkon/falkon/src/lib/tools"
    "-I/opt/falkon/falkon/src/lib/webengine"
    "-I/opt/falkon/falkon/src/lib/webtab"
    "-I/usr/include"
    "-I/usr/include/x86_64-linux-gnu/qt6/QtWebEngineCore"
    "-I/usr/include/x86_64-linux-gnu/qt6"
    "-T/usr/share/PySide6/typesystems"
    "--output-directory=/opt/falkon/falkon/build/src/plugins/PyFalkon"
    "--api-version=6.8"
    "/opt/falkon/falkon/src/plugins/PyFalkon/pyfalkon_global.h"
    "/opt/falkon/falkon/src/plugins/PyFalkon/typesystem_pyfalkon.xml"
make[2]: *** [src/plugins/PyFalkon/CMakeFiles/PyFalkon_autogen_timestamp_deps.dir/build.make:159: src/plugins/PyFalkon/PyFalkon/pyfalkon_module_wrapper.cpp] Error 1
make[1]: *** [CMakeFiles/Makefile2:19563: src/plugins/PyFalkon/CMakeFiles/PyFalkon_autogen_timestamp_deps.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 69%] Built target FlashCookieManager_autogen
make: *** [Makefile:146: all] Error 2
<User name>@<Hostname>:/opt/falkon/falkon/build$

----------

6. This is the content of the file /usr/share/doc/python-pyside6-doc/doc/extras/QtWebEngineCore.rst which itself is part of the package "python-pyside6-doc" :

----------

root@<Hostname>:/usr/share/PySide6/doc# cat /usr/share/doc/python-pyside6-doc/doc/extras QtWebEngineCore.rst
Provides common API shared by Qt WebEngine and Qt WebEngine Widgets.

Qt WebEngine Core provides API shared by :ref:`Qt WebEngine<Qt-WebEngine>` and :ref:`Qt WebEngine Widgets<Qt-WebEngine-Widgets>` .

Getting Started
^^^^^^^^^^^^^^^

To include the definitions of modules classes, use the following directive:

::

import PySide6.QtWebEngineCore

Articles and Guides
^^^^^^^^^^^^^^^^^^^

* `Qt WebEngine Overview <https://doc.qt.io/qt-6/qtwebengine-overview.html>`_
root@<Hostname>:/usr/share/PySide6/doc#

----------

This is the version number of the package "python-pyside6-doc":

----------

root@<Hostname>:/usr/share/PySide6/doc# apt list -a python-pyside6-doc
Listing... Done
python-pyside6-doc/noble,noble,noble,now 6.8.0-0zneon+24.04+noble+release+build12 all [installed]
python-pyside6-doc/noble,noble,noble 6.8.0-0zneon+24.04+noble+release+build11 all

----------

SOFTWARE/OS VERSIONS:

root@<Hostname>:/etc# lsb_release -a
No LSB modules are available.
Distributor ID: Tuxedo
Description:    TUXEDO OS
Release:        24.04
Codename:       noble
root@<Hostname>:/etc# 

KDE Plasma Version: KDE Plasma 6.2.3
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.0
Comment 1 Juraj 2024-12-14 13:15:23 UTC
Hello,

I remember having similar problem with some Pyside6/shiboken6 version on Artix (or KDE Neon) as well, where the package did not contain the required files.
It was fixed upstram (in Qt) as far as I know.

Not a Falkon error.

Best regards,
Juraj