Skip to content

{lang,vis}[GCCcore/14.3.0] PyQt6 v6.9.1, PyQt-builder v1.19.0#24757

Merged
boegel merged 5 commits intoeasybuilders:developfrom
Micket:20251205022944_new_pr_PyQt66100
Dec 13, 2025
Merged

{lang,vis}[GCCcore/14.3.0] PyQt6 v6.9.1, PyQt-builder v1.19.0#24757
boegel merged 5 commits intoeasybuilders:developfrom
Micket:20251205022944_new_pr_PyQt66100

Conversation

@Micket
Copy link
Copy Markdown
Contributor

@Micket Micket commented Dec 5, 2025

(created using eb --new-pr)

@github-actions github-actions Bot added the 2025b issues & PRs related to 2025b common toolchains label Dec 5, 2025
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Dec 5, 2025

Updated software PyQt-builder-1.19.0-GCCcore-14.3.0.eb

Diff against PyQt-builder-1.18.1-GCCcore-13.3.0.eb

easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.18.1-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.18.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.19.0-GCCcore-14.3.0.eb
index 7217bf2347..a11fcf81a2 100644
--- a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.18.1-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.19.0-GCCcore-14.3.0.eb
@@ -1,8 +1,7 @@
-# Thomas Hoffmann, EMBL Heidelberg, [email protected], 2024/01
 easyblock = 'PythonBundle'
 
 name = 'PyQt-builder'
-version = '1.18.1'
+version = '1.19.0'
 
 homepage = 'https://github.com/Python-PyQt/PyQt-builder'
 description = """PyQt-builder is the PEP 517 compliant build system for PyQt and projects that
@@ -10,19 +9,19 @@ extend PyQt. It extends the SIP build system and uses Qt's qmake to perform the
 actual compilation and installation of extension modules.
 """
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
 
-builddependencies = [('binutils', '2.42')]
+builddependencies = [('binutils', '2.44')]
 dependencies = [
-    ('Python', '3.12.3'),
-    ('SIP', '6.10.0'),
+    ('Python', '3.13.5'),
+    ('SIP', '6.13.1'),
 ]
 
 
 exts_list = [
     ('pyqt_builder', version, {
         'modulename': 'pyqtbuild',
-        'checksums': ['3f7a3a2715947a293a97530a76fd59f1309fcb8e57a5830f45c79fe7249b3998'],
+        'checksums': ['79540e001c476bc050180db00fffcb1e9fa74544d95c148e48ad6117e49d6ea2'],
     }),
 ]
 
Diff against PyQt-builder-1.16.4-GCCcore-13.2.0.eb

easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.16.4-GCCcore-13.2.0.eb

diff --git a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.16.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.19.0-GCCcore-14.3.0.eb
index a2d5dcf229..a11fcf81a2 100644
--- a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.16.4-GCCcore-13.2.0.eb
+++ b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.19.0-GCCcore-14.3.0.eb
@@ -1,8 +1,7 @@
-# Thomas Hoffmann, EMBL Heidelberg, [email protected], 2024/01
 easyblock = 'PythonBundle'
 
 name = 'PyQt-builder'
-version = '1.16.4'
+version = '1.19.0'
 
 homepage = 'https://github.com/Python-PyQt/PyQt-builder'
 description = """PyQt-builder is the PEP 517 compliant build system for PyQt and projects that
@@ -10,19 +9,19 @@ extend PyQt. It extends the SIP build system and uses Qt's qmake to perform the
 actual compilation and installation of extension modules.
 """
 
-toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
 
-builddependencies = [('binutils', '2.40')]
+builddependencies = [('binutils', '2.44')]
 dependencies = [
-    ('Python', '3.11.5'),
-    ('SIP', '6.8.3'),
+    ('Python', '3.13.5'),
+    ('SIP', '6.13.1'),
 ]
 
 
 exts_list = [
     ('pyqt_builder', version, {
         'modulename': 'pyqtbuild',
-        'checksums': ['4515e41ae379be2e54f88a89ecf47cd6e4cac43e862c4abfde18389c2666afdf'],
+        'checksums': ['79540e001c476bc050180db00fffcb1e9fa74544d95c148e48ad6117e49d6ea2'],
     }),
 ]
 
Diff against PyQt-builder-1.15.4-GCCcore-12.3.0.eb

easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.15.4-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.15.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.19.0-GCCcore-14.3.0.eb
index 947c2ffd92..a11fcf81a2 100644
--- a/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.15.4-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/p/PyQt-builder/PyQt-builder-1.19.0-GCCcore-14.3.0.eb
@@ -1,27 +1,27 @@
-# Thomas Hoffmann, EMBL Heidelberg, [email protected], 2024/01
 easyblock = 'PythonBundle'
 
 name = 'PyQt-builder'
-version = '1.15.4'
+version = '1.19.0'
 
-homepage = 'http://www.example.com'
+homepage = 'https://github.com/Python-PyQt/PyQt-builder'
 description = """PyQt-builder is the PEP 517 compliant build system for PyQt and projects that
-extend PyQt. It extends the SIP build system and uses Qt’s qmake to perform the
+extend PyQt. It extends the SIP build system and uses Qt's qmake to perform the
 actual compilation and installation of extension modules.
 """
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
 
-builddependencies = [('binutils', '2.40')]
+builddependencies = [('binutils', '2.44')]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SIP', '6.8.1'),
+    ('Python', '3.13.5'),
+    ('SIP', '6.13.1'),
 ]
 
+
 exts_list = [
-    (name, version, {
+    ('pyqt_builder', version, {
         'modulename': 'pyqtbuild',
-        'checksums': ['39f8c75db17d9ce17cb6bbf3df1650b5cebc1ea4e5bd73843d21cc96612b2ae1'],
+        'checksums': ['79540e001c476bc050180db00fffcb1e9fa74544d95c148e48ad6117e49d6ea2'],
     }),
 ]
 

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 5, 2025

Test report by @Micket
FAILED
Build succeeded for 1 out of 2 (2 easyconfigs in total)
vera-icelake-build - Linux Rocky Linux 9.6, x86_64, Intel(R) Xeon(R) Silver 4316 CPU @ 2.30GHz, Python 3.9.21
See https://gist.github.com/Micket/ba4856334a3fcce4407ecf842625ee94 for a full test report.

@jfgrimm
Copy link
Copy Markdown
Member

jfgrimm commented Dec 5, 2025

Test report by @jfgrimm
FAILED
Build succeeded for 5 out of 6 (total: 3 hours 4 mins 33 secs) (2 easyconfigs in total)
node112.viking2.yor.alces.network - Linux Rocky Linux 8.10, x86_64, AMD EPYC 7643 48-Core Processor, Python 3.6.8
See https://gist.github.com/jfgrimm/7f7f187f640fca1adb2a9908cc56ea95 for a full test report.

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 5, 2025

Maybe needs a newer SIP

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 6, 2025

Test report by @Micket
FAILED
Build succeeded for 2 out of 3 (3 easyconfigs in total)
vera-icelake-build - Linux Rocky Linux 9.6, x86_64, Intel(R) Xeon(R) Silver 4316 CPU @ 2.30GHz, Python 3.9.21
See https://gist.github.com/Micket/ec5503dab8cfae74eafead071a3c4fdc for a full test report.

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 6, 2025

nope wasn't SIP...

Generating the QtWebEngineCore bindings...
sip-build: /dev/shm/PyQt6/6.10.0/GCCcore-14.3.0/pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip: line 132: column 39: 'uint8_t' is undefined
/dev/shm/PyQt6/6.10.0/GCCcore-14.3.0/pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip: line 132: column 39: unsupported enum base type
/dev/shm/PyQt6/6.10.0/GCCcore-14.3.0/pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip: line 132: column 39: unsupported enum base type
/dev/shm/PyQt6/6.10.0/GCCcore-14.3.0/pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip: line 132: column 39: unsupported enum base type
/dev/shm/PyQt6/6.10.0/GCCcore-14.3.0/pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip: line 132: column 39: unsupported enum base type
/dev/shm/PyQt6/6.10.0/GCCcore-14.3.0/pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip: line 132: column 39: unsupported enum base type

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Dec 8, 2025

Test report by @Thyre
FAILED
Build succeeded for 2 out of 3 (total: 19 mins 7 secs) (3 easyconfigs in total)
ZAM054 - Linux Zorin OS 18, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P (skylake), 1 x NVIDIA NVIDIA GeForce MX550, 580.95.05, Python 3.12.3
See https://gist.github.com/Thyre/4ef2c07ef5c138be53892ca4553e7380 for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Dec 8, 2025

@Micket: Comparing this enum class to others

sip/QtWebEngineCore/qwebenginepermission.sip:37:    enum class PermissionType : quint8
sip/QtWebEngineCore/qwebenginepermission.sip:52:    enum class State : quint8
sip/QtWebEngineCore/qwebengineurlscheme.sip:30:    enum class Syntax
sip/QtWebEngineCore/qwebenginesettings.sip:132:    enum class ImageAnimationPolicy : uint8_t
sip/QtWebEngineCore/qwebengineglobalsettings.sip:31:    enum class SecureDnsMode : quint8
sip/QtWebEngineCore/qwebengineprofile.sip:258:    enum class PersistentPermissionsPolicy : quint8
sip/QtWebEngineCore/qwebenginepage.sip:264:    enum class LifecycleState
sip/QtWebEngineCore/qwebenginewebauthuxrequest.sip:32:    enum class WebAuthUxState
sip/QtWebEngineCore/qwebenginewebauthuxrequest.sip:43:    enum class PinEntryReason
sip/QtWebEngineCore/qwebenginewebauthuxrequest.sip:50:    enum class PinEntryError
sip/QtWebEngineCore/qwebenginewebauthuxrequest.sip:60:    enum class RequestFailureReason
sip/QtWebEngineQuick/qquickwebengineprofile.sip:157:    enum class PersistentPermissionsPolicy : quint8

this is the only one using a standard uint8_t. I tried replacing that with quint8. That brought me further, though I manually stopped the build as I was in the eb-shell session. Maybe try that replacement and we can try again?

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Dec 8, 2025

Looking at the changelog between 6.10.0 and the latest develop: https://www.riverbankcomputing.com/static/Downloads/PyQt6-WebEngine/ChangeLog-6.10.1.dev2510252014 has one change with log of "Fixed a regression that caused builds to fail when using Qt v6.8 or v6.9."

From https://www.riverbankcomputing.com/pypi/simple/pyqt6-webengine/ via https://www.riverbankcomputing.com/software/pyqtwebengine/download we can get the latest code and get this diff:

diff -rau pyqt6_webengine-6.10.0/ChangeLog pyqt6_webengine-6.10.1.dev2510252014/ChangeLog
--- pyqt6_webengine-6.10.0/ChangeLog    2025-10-16 11:34:51.202807400 +0100
+++ pyqt6_webengine-6.10.1.dev2510252014/ChangeLog      2025-10-26 01:07:11.511231400 +0100
@@ -1,3 +1,11 @@
+commit d76a2a7f9c3215b33dbd41d4dacb78eb182900fe
+Author: Phil Thompson <[email protected]>
+Date:   Sat Oct 25 20:14:23 2025 +0100
+
+    Bug fixes
+
+    Fixed a regression that caused builds to fail when using Qt v6.8 or v6.9.
+
 commit 14b3e276ae013b46b2a9de0c6b89ea825eed9c05
 Author: Phil Thompson <[email protected]>
 Date:   Thu Oct 16 11:03:55 2025 +0100
diff -rau pyqt6_webengine-6.10.0/PKG-INFO pyqt6_webengine-6.10.1.dev2510252014/PKG-INFO
--- pyqt6_webengine-6.10.0/PKG-INFO     2025-10-16 11:34:51.420435700 +0100
+++ pyqt6_webengine-6.10.1.dev2510252014/PKG-INFO       2025-10-26 01:07:12.488023800 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: PyQt6-WebEngine
-Version: 6.10.0
+Version: 6.10.1.dev2510252014
 Requires-Python: >=3.9
 Summary: Python bindings for the Qt WebEngine framework
 Description-Content-Type: text/markdown
diff -rau pyqt6_webengine-6.10.0/pyproject.toml pyqt6_webengine-6.10.1.dev2510252014/pyproject.toml
--- pyqt6_webengine-6.10.0/pyproject.toml       2025-10-16 11:34:51.203694300 +0100
+++ pyqt6_webengine-6.10.1.dev2510252014/pyproject.toml 2025-10-26 01:07:11.513793200 +0100
@@ -5,7 +5,7 @@

 [project]
 name = "PyQt6-WebEngine"
-version = "6.10.0"
+version = "6.10.1.dev2510252014"
 description = "Python bindings for the Qt WebEngine framework"
 readme = "README.md"
 urls.homepage = "https://www.riverbankcomputing.com/software/pyqtwebengine/"
diff -rau pyqt6_webengine-6.10.0/sip/QtWebEngineCore/QtWebEngineCoremod.sip pyqt6_webengine-6.10.1.dev2510252014/sip/QtWebEngineCore/QtWebEngineCoremod.sip
--- pyqt6_webengine-6.10.0/sip/QtWebEngineCore/QtWebEngineCoremod.sip   2025-10-16 11:34:51.307295000 +0100
+++ pyqt6_webengine-6.10.1.dev2510252014/sip/QtWebEngineCore/QtWebEngineCoremod.sip     2025-10-26 01:07:11.812224900 +0100
@@ -54,8 +54,8 @@
 const char *PYQT_WEBENGINE_VERSION_STR;

 %ModuleCode
-static int PYQT_WEBENGINE_VERSION = 0x060a00;
-static const char *PYQT_WEBENGINE_VERSION_STR = "6.10.0";
+static int PYQT_WEBENGINE_VERSION = 0x060a01;
+static const char *PYQT_WEBENGINE_VERSION_STR = "6.10.1.dev2510252014";
 %End

 %Include qtwebenginecoreglobal.sip
diff -rau pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip pyqt6_webengine-6.10.1.dev2510252014/sip/QtWebEngineCore/qwebenginesettings.sip
--- pyqt6_webengine-6.10.0/sip/QtWebEngineCore/qwebenginesettings.sip   2025-10-16 11:34:51.314369000 +0100
+++ pyqt6_webengine-6.10.1.dev2510252014/sip/QtWebEngineCore/qwebenginesettings.sip     2025-10-26 01:07:11.833061000 +0100
@@ -124,7 +124,7 @@
     QWebEngineSettings::UnknownUrlSchemePolicy unknownUrlSchemePolicy() const;
     void setUnknownUrlSchemePolicy(QWebEngineSettings::UnknownUrlSchemePolicy policy);
     void resetUnknownUrlSchemePolicy();
-%If (QtWebEngine_6_10_0 -)
+%If (QtWebEngine_6_8_0 -)
     typedef unsigned char uint8_t /PyInt/;
 %End
 %If (QtWebEngine_6_8_0 -)

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Dec 8, 2025

Yeah.. the changes to the last file match what I saw. uint8_t is undefined. So the patch is probably the better solution (since that's upstream...)

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 8, 2025

I think this error is actually due to missing cstdint include. This makes it unable to parse the enum properly, this all errors stem from this. I made my own patch. But, there are more errors that follow.

--- sip/QtWebEngineCore/qwebenginesettings.sip.orig     2025-12-08 15:08:01.318680541 +0100
+++ sip/QtWebEngineCore/qwebenginesettings.sip  2025-12-08 17:06:35.232310702 +0100
@@ -19,6 +19,9 @@
 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
+%TypeHeaderCode
+#include <cstdint>
+%End
 
 class QWebEngineSettings /NoDefaultCtors/
 {

but, i'm thinking it's best to downgrade to PyQt 6.9 maybe?

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 8, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@Micket: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24757 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24757 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9051

Test results coming soon (I hope)...

Details

- notification for comment with ID 3628986592 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@Micket
Copy link
Copy Markdown
Contributor Author

Micket commented Dec 9, 2025

Test report by @Micket
SUCCESS
Build succeeded for 2 out of 2 (2 easyconfigs in total)
vera-icelake-build - Linux Rocky Linux 9.6, x86_64, Intel(R) Xeon(R) Silver 4316 CPU @ 2.30GHz, Python 3.9.21
See https://gist.github.com/Micket/bff741478b8449fd393bdba271af2fd6 for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Dec 9, 2025

Test report by @Thyre
SUCCESS
Build succeeded for 2 out of 2 (total: 20 mins 53 secs) (2 easyconfigs in total)
jrc0901.jureca - Linux Rocky Linux 9.6, AArch64, ARM UNKNOWN (neoverse_v2), 1 x NVIDIA NVIDIA GH200 480GB, 580.95.05, Python 3.9.21
See https://gist.github.com/Thyre/3488b7e8f5189dad267888e04ef4dba8 for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Dec 9, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24757 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24757 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9060

Test results coming soon (I hope)...

Details

- notification for comment with ID 3631389139 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (total: 27 mins 14 secs) (2 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/03a73d7b751955281fba1aed6a13e0ee for a full test report.

@Micket Micket changed the title {lang,vis}[GCCcore/14.3.0] PyQt6 v6.10.0, PyQt-builder v1.19.0 {lang,vis}[GCCcore/14.3.0] PyQt6 v6.9.1, PyQt-builder v1.19.0 Dec 9, 2025
Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 10, 2025

Test report by @boegel
SUCCESS
Build succeeded for 5 out of 5 (total: 5 hours 20 mins 2 secs) (2 easyconfigs in total)
node4246.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/cb2348ccdd26d27379c81a9be1745bca for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Dec 13, 2025

Going in, thanks @Micket!

@boegel boegel merged commit 4be7677 into easybuilders:develop Dec 13, 2025
8 checks passed
@Micket Micket deleted the 20251205022944_new_pr_PyQt66100 branch December 13, 2025 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2025b issues & PRs related to 2025b common toolchains new ready-to-review update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants