Skip to content

Conversation

@laraPPr
Copy link
Contributor

@laraPPr laraPPr commented Jul 29, 2025

@laraPPr laraPPr added the update label Jul 29, 2025
@github-actions
Copy link

github-actions bot commented Jul 29, 2025

Updated software GST-plugins-bad-1.24.12-GCC-13.2.0.eb

Diff against GST-plugins-bad-1.24.8-GCC-13.3.0.eb

easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.8-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.12-GCC-13.2.0.eb
index 062535c25f..040b623f74 100644
--- a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.8-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.12-GCC-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'MesonNinja'
 
 name = 'GST-plugins-bad'
-version = '1.24.8'
+version = '1.24.12'
 
 homepage = 'https://gstreamer.freedesktop.org/'
 description = """GStreamer is a library for constructing graphs of media-handling
@@ -9,30 +9,30 @@ description = """GStreamer is a library for constructing graphs of media-handlin
  Ogg/Vorbis playback, audio/video streaming to complex audio
  (mixing) and video (non-linear editing) processing."""
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'GCC', 'version': '13.2.0'}
 
 source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-bad']
 sources = [SOURCELOWER_TAR_XZ]
-checksums = ['35ad70de3d7cbca3089f33bb77c45750daad2ae93d79827fdbb469fa8aba84eb']
+checksums = ['3d386af3d1dbd1a06c74a6251250c269b481e703f0e3255ba89ef6c1e063afea']
 
 builddependencies = [
-    ('Meson', '1.4.0'),
-    ('Ninja', '1.12.1'),
-    ('GObject-Introspection', '1.80.1'),
-    ('gettext', '0.22.5'),
-    ('pkgconf', '2.2.0'),
+    ('Meson', '1.2.3'),
+    ('Ninja', '1.11.1'),
+    ('GObject-Introspection', '1.78.1'),
+    ('gettext', '0.22'),
+    ('pkgconf', '2.0.3'),
     ('Bison', '3.8.2'),
 ]
 
 dependencies = [
-    ('zlib', '1.3.1'),
-    ('GLib', '2.80.4'),
+    ('zlib', '1.2.13'),
+    ('GLib', '2.78.1'),
     ('GStreamer', '1.24.8'),
-    ('Gdk-Pixbuf', '2.42.11'),
-    ('X11', '20240607'),
-    ('Mesa', '24.1.3'),
+    ('Gdk-Pixbuf', '2.42.10'),
+    ('X11', '20231019'),
+    ('Mesa', '23.1.9'),
     ('Graphene', '1.10.8'),
-    ('GST-plugins-base', version),
+    ('GST-plugins-base', '1.24.8'),
 ]
 
 sanity_check_paths = {
Diff against GST-plugins-bad-1.22.5-GCC-12.3.0.eb

easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.3.0.eb

diff --git a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.12-GCC-13.2.0.eb
index 9814e44731..040b623f74 100644
--- a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.3.0.eb
+++ b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.12-GCC-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'MesonNinja'
 
 name = 'GST-plugins-bad'
-version = '1.22.5'
+version = '1.24.12'
 
 homepage = 'https://gstreamer.freedesktop.org/'
 description = """GStreamer is a library for constructing graphs of media-handling
@@ -9,30 +9,30 @@ description = """GStreamer is a library for constructing graphs of media-handlin
  Ogg/Vorbis playback, audio/video streaming to complex audio
  (mixing) and video (non-linear editing) processing."""
 
-toolchain = {'name': 'GCC', 'version': '12.3.0'}
+toolchain = {'name': 'GCC', 'version': '13.2.0'}
 
 source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-bad']
 sources = [SOURCELOWER_TAR_XZ]
-checksums = ['e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c']
+checksums = ['3d386af3d1dbd1a06c74a6251250c269b481e703f0e3255ba89ef6c1e063afea']
 
 builddependencies = [
-    ('Meson', '1.1.1'),
+    ('Meson', '1.2.3'),
     ('Ninja', '1.11.1'),
-    ('GObject-Introspection', '1.76.1'),
-    ('gettext', '0.21.1'),
-    ('pkgconf', '1.9.5'),
+    ('GObject-Introspection', '1.78.1'),
+    ('gettext', '0.22'),
+    ('pkgconf', '2.0.3'),
     ('Bison', '3.8.2'),
 ]
 
 dependencies = [
     ('zlib', '1.2.13'),
-    ('GLib', '2.77.1'),
-    ('GStreamer', '1.22.5'),
+    ('GLib', '2.78.1'),
+    ('GStreamer', '1.24.8'),
     ('Gdk-Pixbuf', '2.42.10'),
-    ('X11', '20230603'),
-    ('Mesa', '23.1.4'),
+    ('X11', '20231019'),
+    ('Mesa', '23.1.9'),
     ('Graphene', '1.10.8'),
-    ('GST-plugins-base', '1.22.5'),
+    ('GST-plugins-base', '1.24.8'),
 ]
 
 sanity_check_paths = {
Diff against GST-plugins-bad-1.22.5-GCC-12.2.0.eb

easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.2.0.eb

diff --git a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.12-GCC-13.2.0.eb
index bc36176bdf..040b623f74 100644
--- a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.2.0.eb
+++ b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.24.12-GCC-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'MesonNinja'
 
 name = 'GST-plugins-bad'
-version = '1.22.5'
+version = '1.24.12'
 
 homepage = 'https://gstreamer.freedesktop.org/'
 description = """GStreamer is a library for constructing graphs of media-handling
@@ -9,30 +9,30 @@ description = """GStreamer is a library for constructing graphs of media-handlin
  Ogg/Vorbis playback, audio/video streaming to complex audio
  (mixing) and video (non-linear editing) processing."""
 
-toolchain = {'name': 'GCC', 'version': '12.2.0'}
+toolchain = {'name': 'GCC', 'version': '13.2.0'}
 
 source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-bad']
 sources = [SOURCELOWER_TAR_XZ]
-checksums = ['e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c']
+checksums = ['3d386af3d1dbd1a06c74a6251250c269b481e703f0e3255ba89ef6c1e063afea']
 
 builddependencies = [
-    ('Meson', '0.64.0'),
+    ('Meson', '1.2.3'),
     ('Ninja', '1.11.1'),
-    ('GObject-Introspection', '1.74.0'),
-    ('gettext', '0.21.1'),
-    ('pkgconf', '1.9.3'),
+    ('GObject-Introspection', '1.78.1'),
+    ('gettext', '0.22'),
+    ('pkgconf', '2.0.3'),
     ('Bison', '3.8.2'),
 ]
 
 dependencies = [
-    ('zlib', '1.2.12'),
-    ('GLib', '2.75.0'),
-    ('GStreamer', '1.22.1'),
+    ('zlib', '1.2.13'),
+    ('GLib', '2.78.1'),
+    ('GStreamer', '1.24.8'),
     ('Gdk-Pixbuf', '2.42.10'),
-    ('X11', '20221110'),
-    ('Mesa', '22.2.4'),
+    ('X11', '20231019'),
+    ('Mesa', '23.1.9'),
     ('Graphene', '1.10.8'),
-    ('GST-plugins-base', '1.22.1'),
+    ('GST-plugins-base', '1.24.8'),
 ]
 
 sanity_check_paths = {

Updated software GTK4-4.13.1-GCC-13.2.0.eb

Diff against GTK4-4.17.1-GCC-13.3.0.eb

easybuild/easyconfigs/g/GTK4/GTK4-4.17.1-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.17.1-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-13.2.0.eb
index b959a00a1a..cf28f2e342 100644
--- a/easybuild/easyconfigs/g/GTK4/GTK4-4.17.1-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'Bundle'
 
 name = 'GTK4'
-version = '4.17.1'
+version = '4.13.1'
 
 homepage = 'https://docs.gtk.org/gtk4/'
 description = """GTK+ is the primary library used to construct user interfaces in GNOME. It
@@ -11,31 +11,30 @@ description = """GTK+ is the primary library used to construct user interfaces i
  device interaction.
 """
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'GCC', 'version': '13.2.0'}
 
 builddependencies = [
-    ('binutils', '2.42'),
-    ('Autotools', '20231222'),
-    ('GObject-Introspection', '1.80.1'),
-    ('gettext', '0.22.5'),
-    ('pkgconf', '2.2.0'),
+    ('binutils', '2.40'),
+    ('Autotools', '20220317'),
+    ('GObject-Introspection', '1.78.1'),
+    ('gettext', '0.22'),
+    ('pkgconf', '2.0.3'),
     ('cairo', '1.18.0'),
-    ('Perl', '5.38.2'),
-    ('Meson', '1.4.0'),
-    ('Ninja', '1.12.1'),
+    ('Perl', '5.38.0'),
+    ('Meson', '1.2.3'),
+    ('Ninja', '1.11.1'),
 ]
-
 dependencies = [
     ('ATK', '2.38.0'),
     ('at-spi2-atk', '2.38.0'),
-    ('Gdk-Pixbuf', '2.42.11'),
-    ('Pango', '1.54.0'),
+    ('Gdk-Pixbuf', '2.42.10'),
+    ('Pango', '1.51.0'),
     ('libepoxy', '1.5.10'),
-    ('X11', '20240607'),
-    ('FriBidi', '1.0.15'),
-    ('GST-plugins-bad', '1.24.8'),
-    ('Wayland', '1.23.0'),
-    ('PyGObject', '3.52.3'),
+    ('X11', '20231019'),
+    ('FriBidi', '1.0.13'),
+    ('GST-plugins-bad', '1.24.12'),
+    ('Wayland', '1.22.0'),
+    ('PyGObject', '3.46.0'),
 ]
 
 default_easyblock = 'ConfigureMake'
@@ -49,24 +48,28 @@ components = [
     ('GTK', version, {
         'easyblock': 'MesonNinja',
         'source_urls': [FTPGNOME_SOURCE],
-        'configopts': "-Dintrospection=enabled -Dvulkan=disabled",
-        'checksums': ['2bfcfda10d010e301f1a985d9dcae044845a97df43fc7772e63d50d29ac20010']
+        'configopts': "-Dintrospection=enabled -Dgtk_doc=false",
+        'checksums': [
+            '53d832a37653fb4672ad7b3d3be656082eeee402177d971fdf8e0cba9a55b9a1',
+        ],
     }),
     ('hicolor-icon-theme', '0.17', {
         'source_urls': ['https://icon-theme.freedesktop.org/releases/'],
-        'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8']
+        'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'],
     }),
     ('adwaita-icon-theme', '45.0', {
         'easyblock': 'MesonNinja',
         'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'],
-        'checksums': ['2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1']
+        'checksums': [
+            '2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1',
+        ],
     }),
 ]
 
 postinstallcmds = ['gtk4-update-icon-cache']
 
 sanity_check_paths = {
-    'files': ['bin/%s' % x for x in ['gtk4-demo', 'gtk4-demo-application', 'gtk4-widget-factory',
+    'files': ['bin/%s' % x for x in ['gtk4-demo', 'gtk4-demo-application', 'gtk4-icon-browser', 'gtk4-widget-factory',
                                      'gtk4-builder-tool', 'gtk4-launch', 'gtk4-query-settings',
                                      'gtk4-update-icon-cache', 'gtk4-widget-factory']] +
              ['lib/libgtk-4.%s' % SHLIB_EXT],
Diff against GTK4-4.13.1-GCC-12.3.0.eb

easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-12.3.0.eb

diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-13.2.0.eb
index 5ac3810bfa..cf28f2e342 100644
--- a/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-12.3.0.eb
+++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-13.2.0.eb
@@ -11,28 +11,28 @@ description = """GTK+ is the primary library used to construct user interfaces i
  device interaction.
 """
 
-toolchain = {'name': 'GCC', 'version': '12.3.0'}
+toolchain = {'name': 'GCC', 'version': '13.2.0'}
 
 builddependencies = [
     ('binutils', '2.40'),
     ('Autotools', '20220317'),
-    ('GObject-Introspection', '1.76.1'),
-    ('gettext', '0.21.1'),
-    ('pkgconf', '1.9.5'),
-    ('cairo', '1.17.8'),
-    ('Perl', '5.36.1'),
-    ('Meson', '1.1.1'),
+    ('GObject-Introspection', '1.78.1'),
+    ('gettext', '0.22'),
+    ('pkgconf', '2.0.3'),
+    ('cairo', '1.18.0'),
+    ('Perl', '5.38.0'),
+    ('Meson', '1.2.3'),
     ('Ninja', '1.11.1'),
 ]
 dependencies = [
     ('ATK', '2.38.0'),
     ('at-spi2-atk', '2.38.0'),
     ('Gdk-Pixbuf', '2.42.10'),
-    ('Pango', '1.50.14'),
+    ('Pango', '1.51.0'),
     ('libepoxy', '1.5.10'),
-    ('X11', '20230603'),
-    ('FriBidi', '1.0.12'),
-    ('GST-plugins-bad', '1.22.5'),
+    ('X11', '20231019'),
+    ('FriBidi', '1.0.13'),
+    ('GST-plugins-bad', '1.24.12'),
     ('Wayland', '1.22.0'),
     ('PyGObject', '3.46.0'),
 ]
Diff against GTK4-4.11.3-GCC-12.2.0.eb

easybuild/easyconfigs/g/GTK4/GTK4-4.11.3-GCC-12.2.0.eb

diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-13.2.0.eb
index 0a39ef44d9..cf28f2e342 100644
--- a/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3-GCC-12.2.0.eb
+++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'Bundle'
 
 name = 'GTK4'
-version = '4.11.3'
+version = '4.13.1'
 
 homepage = 'https://docs.gtk.org/gtk4/'
 description = """GTK+ is the primary library used to construct user interfaces in GNOME. It
@@ -11,30 +11,30 @@ description = """GTK+ is the primary library used to construct user interfaces i
  device interaction.
 """
 
-toolchain = {'name': 'GCC', 'version': '12.2.0'}
+toolchain = {'name': 'GCC', 'version': '13.2.0'}
 
 builddependencies = [
-    ('binutils', '2.39'),
+    ('binutils', '2.40'),
     ('Autotools', '20220317'),
-    ('GObject-Introspection', '1.74.0'),
-    ('gettext', '0.21.1'),
-    ('pkgconf', '1.9.3'),
-    ('cairo', '1.17.4'),
-    ('Perl', '5.36.0'),
-    ('Meson', '0.64.0'),
+    ('GObject-Introspection', '1.78.1'),
+    ('gettext', '0.22'),
+    ('pkgconf', '2.0.3'),
+    ('cairo', '1.18.0'),
+    ('Perl', '5.38.0'),
+    ('Meson', '1.2.3'),
     ('Ninja', '1.11.1'),
 ]
 dependencies = [
     ('ATK', '2.38.0'),
     ('at-spi2-atk', '2.38.0'),
     ('Gdk-Pixbuf', '2.42.10'),
-    ('Pango', '1.50.12'),
+    ('Pango', '1.51.0'),
     ('libepoxy', '1.5.10'),
-    ('X11', '20221110'),
-    ('FriBidi', '1.0.12'),
-    ('GST-plugins-bad', '1.22.5'),
+    ('X11', '20231019'),
+    ('FriBidi', '1.0.13'),
+    ('GST-plugins-bad', '1.24.12'),
     ('Wayland', '1.22.0'),
-    ('PyGObject', '3.44.1'),
+    ('PyGObject', '3.46.0'),
 ]
 
 default_easyblock = 'ConfigureMake'
@@ -49,23 +49,19 @@ components = [
         'easyblock': 'MesonNinja',
         'source_urls': [FTPGNOME_SOURCE],
         'configopts': "-Dintrospection=enabled -Dgtk_doc=false",
-        'patches': ['GTK4-4.11.3_g_set_str.patch'],
         'checksums': [
-            '22b9b21a13b205d4f430b9d73a0d216f133047cf638a2563fcd9297a4b39eb00',
-            '96c114de353f2798ce57de9823c6d2eaa6b92175b49c3333d209dd3d3a0b7ce4'],  # GTK4-4.11.3_g_set_str.patch
+            '53d832a37653fb4672ad7b3d3be656082eeee402177d971fdf8e0cba9a55b9a1',
+        ],
     }),
     ('hicolor-icon-theme', '0.17', {
         'source_urls': ['https://icon-theme.freedesktop.org/releases/'],
         'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'],
     }),
-    ('adwaita-icon-theme', '44.0', {
-        'preconfigopts': 'autoreconf -f -i && ',
+    ('adwaita-icon-theme', '45.0', {
+        'easyblock': 'MesonNinja',
         'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'],
-        'patches': ['adwaita-icon-theme-44.0_disable-svg-conversion.patch'],
         'checksums': [
-            '4889c5601bbfecd25d80ba342209d0a936dcf691ee56bd6eca4cde361f1a664c',
-            # adwaita-icon-theme-44.0_disable-svg-conversion.patch
-            'f70ad3d11d52e3104cf1548eccd161efc9448d41f9521c7ac4670228b19ca2b9'
+            '2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1',
         ],
     }),
 ]

Updated software OpenCV-4.11.0-foss-2023b-contrib.eb

Diff against OpenCV-4.11.0-foss-2024a-contrib.eb

easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2024a-contrib.eb

diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2024a-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2023b-contrib.eb
index 9e546c7495..5b8c73e381 100644
--- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2024a-contrib.eb
+++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2023b-contrib.eb
@@ -12,7 +12,7 @@ description = """OpenCV (Open Source Computer Vision Library) is an open source
  the use of machine perception in the commercial products.
  Includes extra modules for OpenCV from the contrib repository."""
 
-toolchain = {'name': 'foss', 'version': '2024a'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 sources = [
     {
@@ -31,9 +31,7 @@ sources = [
         'extract_cmd': 'cp %s %(builddir)s'
     },
 ]
-patches = [
-    ('opencv_contrib_python.egg-info', '..'),
-]
+patches = [('opencv_contrib_python.egg-info', '..')]
 checksums = [
     {'opencv-4.11.0.tar.gz': '9a7c11f924eff5f8d8070e297b322ee68b9227e003fd600d4b8122198091665f'},
     {'opencv_contrib-4.11.0.tar.gz': '2dfc5957201de2aa785064711125af6abb2e80a64e2dc246aca4119b19687041'},
@@ -43,28 +41,28 @@ checksums = [
 ]
 
 builddependencies = [
-    ('CMake', '3.29.3'),
+    ('CMake', '3.27.6'),
 ]
 dependencies = [
-    ('Python', '3.12.3'),
-    ('SciPy-bundle', '2024.05'),
-    ('Python-bundle-PyPI', '2024.06'),
-    ('zlib', '1.3.1'),
-    ('FFmpeg', '7.0.2'),
+    ('Python', '3.11.5'),
+    ('SciPy-bundle', '2023.11'),
+    ('Python-bundle-PyPI', '2023.10'),
+    ('zlib', '1.2.13'),
+    ('FFmpeg', '6.0'),
     ('freetype', '2.13.2'),
-    ('HarfBuzz', '9.0.0'),
+    ('HarfBuzz', '8.2.2'),
     ('libjpeg-turbo', '3.0.1'),
-    ('OpenJPEG', '2.5.2'),
-    ('libpng', '1.6.43'),
+    ('OpenJPEG', '2.5.0'),
+    ('libpng', '1.6.40'),
     ('LibTIFF', '4.6.0'),
-    ('libwebp', '1.4.0'),
-    ('OpenEXR', '3.2.4'),
-    ('JasPer', '4.2.4'),
-    ('Java', '17', '', SYSTEM),
-    ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM),
-    ('GLib', '2.80.4'),
-    ('GTK4', '4.17.1'),
-    ('HDF5', '1.14.5'),
+    ('libwebp', '1.3.2'),
+    ('OpenEXR', '3.2.0'),
+    ('JasPer', '4.0.0'),
+    ('Java', '11', '', SYSTEM),
+    ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM),
+    ('GLib', '2.78.1'),
+    ('GTK4', '4.13.1'),
+    ('HDF5', '1.14.3'),
 ]
 
 # XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz
Diff against OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb

easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb

diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2023b-contrib.eb
index bb6e75baf8..5b8c73e381 100644
--- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb
+++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2023b-contrib.eb
@@ -1,6 +1,6 @@
 name = 'OpenCV'
-version = '4.8.1'
-versionsuffix = '-CUDA-%(cudaver)s-contrib'
+version = '4.11.0'
+versionsuffix = '-contrib'
 
 # the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake
 local_ippicv_hash = '1224f78da6684df04397ac0f40c961ed37f79ccb'
@@ -12,8 +12,7 @@ description = """OpenCV (Open Source Computer Vision Library) is an open source
  the use of machine perception in the commercial products.
  Includes extra modules for OpenCV from the contrib repository."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
-toolchainopts = {'cstd': 'c++14'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 sources = [
     {
@@ -32,46 +31,38 @@ sources = [
         'extract_cmd': 'cp %s %(builddir)s'
     },
 ]
-
-patches = [
-    ('opencv_contrib_python.egg-info', '..'),
-    'OpenCV-4.6.0_dont_use_python2.patch',
-]
-
+patches = [('opencv_contrib_python.egg-info', '..')]
 checksums = [
-    {'opencv-4.8.1.tar.gz': '62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5'},
-    {'opencv_contrib-4.8.1.tar.gz': '0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e'},
+    {'opencv-4.11.0.tar.gz': '9a7c11f924eff5f8d8070e297b322ee68b9227e003fd600d4b8122198091665f'},
+    {'opencv_contrib-4.11.0.tar.gz': '2dfc5957201de2aa785064711125af6abb2e80a64e2dc246aca4119b19687041'},
     {'ippicv_2021.8_lnx_intel64_20230330_general.tgz':
      '7cfe0fb0e15ea8f3d2d971c19df2d14382469943d4efa85e48bf358930daa85d'},
     {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'},
-    {'OpenCV-4.6.0_dont_use_python2.patch': '2d41d7295946c6dc87eef58d7eeb559f90a1f004b8af708bc93f379addda1a60'},
 ]
 
 builddependencies = [
-    ('CMake', '3.26.3'),
+    ('CMake', '3.27.6'),
 ]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('Python-bundle-PyPI', '2023.06'),
+    ('Python', '3.11.5'),
+    ('SciPy-bundle', '2023.11'),
+    ('Python-bundle-PyPI', '2023.10'),
     ('zlib', '1.2.13'),
     ('FFmpeg', '6.0'),
-    ('freetype', '2.13.0'),
-    ('HarfBuzz', '5.3.1'),
-    ('libjpeg-turbo', '2.1.5.1'),
+    ('freetype', '2.13.2'),
+    ('HarfBuzz', '8.2.2'),
+    ('libjpeg-turbo', '3.0.1'),
     ('OpenJPEG', '2.5.0'),
-    ('libpng', '1.6.39'),
-    ('LibTIFF', '4.5.0'),
-    ('libwebp', '1.3.1'),
-    ('OpenEXR', '3.1.7'),
+    ('libpng', '1.6.40'),
+    ('LibTIFF', '4.6.0'),
+    ('libwebp', '1.3.2'),
+    ('OpenEXR', '3.2.0'),
     ('JasPer', '4.0.0'),
     ('Java', '11', '', SYSTEM),
     ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM),
-    ('GLib', '2.77.1'),
+    ('GLib', '2.78.1'),
     ('GTK4', '4.13.1'),
-    ('HDF5', '1.14.0'),
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('cuDNN', '8.9.2.26', '-CUDA-%(cudaver)s', SYSTEM),
+    ('HDF5', '1.14.3'),
 ]
 
 # XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz
@@ -90,7 +81,6 @@ configopts = " ".join([
     "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so",
     "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON",
     "-DBUILD_opencv_python2=OFF",
-    "-DCUDA_NVCC_FLAGS=--std=c++14",
 ])
 
 # Install a egg-info file so it is more python friendly
Diff against OpenCV-4.8.1-foss-2023a-contrib.eb

easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-contrib.eb

diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2023b-contrib.eb
index dd494006d9..5b8c73e381 100644
--- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-contrib.eb
+++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.11.0-foss-2023b-contrib.eb
@@ -1,5 +1,5 @@
 name = 'OpenCV'
-version = '4.8.1'
+version = '4.11.0'
 versionsuffix = '-contrib'
 
 # the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake
@@ -12,7 +12,7 @@ description = """OpenCV (Open Source Computer Vision Library) is an open source
  the use of machine perception in the commercial products.
  Includes extra modules for OpenCV from the contrib repository."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 sources = [
     {
@@ -31,42 +31,38 @@ sources = [
         'extract_cmd': 'cp %s %(builddir)s'
     },
 ]
-patches = [
-    ('opencv_contrib_python.egg-info', '..'),
-    'OpenCV-4.6.0_dont_use_python2.patch',
-]
+patches = [('opencv_contrib_python.egg-info', '..')]
 checksums = [
-    {'opencv-4.8.1.tar.gz': '62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5'},
-    {'opencv_contrib-4.8.1.tar.gz': '0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e'},
+    {'opencv-4.11.0.tar.gz': '9a7c11f924eff5f8d8070e297b322ee68b9227e003fd600d4b8122198091665f'},
+    {'opencv_contrib-4.11.0.tar.gz': '2dfc5957201de2aa785064711125af6abb2e80a64e2dc246aca4119b19687041'},
     {'ippicv_2021.8_lnx_intel64_20230330_general.tgz':
      '7cfe0fb0e15ea8f3d2d971c19df2d14382469943d4efa85e48bf358930daa85d'},
     {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'},
-    {'OpenCV-4.6.0_dont_use_python2.patch': '2d41d7295946c6dc87eef58d7eeb559f90a1f004b8af708bc93f379addda1a60'},
 ]
 
 builddependencies = [
-    ('CMake', '3.26.3'),
+    ('CMake', '3.27.6'),
 ]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('SciPy-bundle', '2023.07'),
-    ('Python-bundle-PyPI', '2023.06'),
+    ('Python', '3.11.5'),
+    ('SciPy-bundle', '2023.11'),
+    ('Python-bundle-PyPI', '2023.10'),
     ('zlib', '1.2.13'),
     ('FFmpeg', '6.0'),
-    ('freetype', '2.13.0'),
-    ('HarfBuzz', '5.3.1'),
-    ('libjpeg-turbo', '2.1.5.1'),
+    ('freetype', '2.13.2'),
+    ('HarfBuzz', '8.2.2'),
+    ('libjpeg-turbo', '3.0.1'),
     ('OpenJPEG', '2.5.0'),
-    ('libpng', '1.6.39'),
-    ('LibTIFF', '4.5.0'),
-    ('libwebp', '1.3.1'),
-    ('OpenEXR', '3.1.7'),
+    ('libpng', '1.6.40'),
+    ('LibTIFF', '4.6.0'),
+    ('libwebp', '1.3.2'),
+    ('OpenEXR', '3.2.0'),
     ('JasPer', '4.0.0'),
     ('Java', '11', '', SYSTEM),
     ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM),
-    ('GLib', '2.77.1'),
+    ('GLib', '2.78.1'),
     ('GTK4', '4.13.1'),
-    ('HDF5', '1.14.0'),
+    ('HDF5', '1.14.3'),
 ]
 
 # XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz

Updated software OpenImageIO-3.0.6.1-foss-2023b.eb

Diff against OpenImageIO-2.5.15.0-GCC-13.3.0.eb

easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.5.15.0-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.5.15.0-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-3.0.6.1-foss-2023b.eb
index 6ec1de151b..26415cd037 100644
--- a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.5.15.0-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-3.0.6.1-foss-2023b.eb
@@ -1,33 +1,45 @@
 easyblock = 'CMakeMake'
 
 name = 'OpenImageIO'
-version = '2.5.15.0'
+version = '3.0.6.1'
 
 homepage = 'https://openimageio.org/'
 description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities,
  and applications."""
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/']
 sources = ['v%(version)s.tar.gz']
-checksums = [('7779ef2c3d03c5ed95e13ff292de85c3f8cee301cd46baad0d2dc83c93bfe85c')]
+checksums = ['4d0fb92e4964f79dfaed77ac73f1a7f754c671a9f5ad29c7950c0844916ce5f5']
 
 builddependencies = [
-    ('CMake', '3.29.3'),
-    ('git', '2.45.1'),
+    ('CMake', '3.27.6'),
+    ('git', '2.42.0'),
 ]
 dependencies = [
-    ('Boost', '1.85.0'),
     ('libjpeg-turbo', '3.0.1'),
-    ('libpng', '1.6.43'),
+    ('libpng', '1.6.40'),
     ('LibTIFF', '4.6.0'),
-    ('OpenEXR', '3.2.4'),
+    ('OpenEXR', '3.2.0'),
     ('freetype', '2.13.2'),
-    ('zlib', '1.3.1'),
+    ('zlib', '1.2.13'),
+    ('OpenColorIO', '2.4.2'),
+    ('pybind11', '2.11.1'),
+    ('OpenCV', '4.11.0', '-contrib'),
+    ('FFmpeg', '6.0'),
+    ('fmt', '10.2.1'),
+    ('libheif', '1.19.5'),
+    ('OpenJPEG', '2.5.0'),
+    ('Qt6', '6.6.3'),
+    ('tbb', '2021.13.0'),
+    # DCMTK -> needs update config
 ]
 
-configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF'
+separate_build_dir = True
+
+configopts = '-DSTOP_ON_WARNING=OFF '
+configopts += '-DOpenImageIO_BUILD_MISSING_DEPS=all '
 
 sanity_check_paths = {
     'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT],
Diff against OpenImageIO-2.4.14.0-GCC-12.3.0.eb

easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.4.14.0-GCC-12.3.0.eb

diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.4.14.0-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-3.0.6.1-foss-2023b.eb
index ca46734dd0..26415cd037 100644
--- a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.4.14.0-GCC-12.3.0.eb
+++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-3.0.6.1-foss-2023b.eb
@@ -1,34 +1,45 @@
 easyblock = 'CMakeMake'
 
 name = 'OpenImageIO'
-version = '2.4.14.0'
+version = '3.0.6.1'
 
 homepage = 'https://openimageio.org/'
 description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities,
  and applications."""
 
-toolchain = {'name': 'GCC', 'version': '12.3.0'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/']
 sources = ['v%(version)s.tar.gz']
-checksums = [('92ad4b107394b273397baa1abe90207e1f8ef9fd52ffbfc23b46e3b0005d4439',
-              '40c2e6fe38f0460a92e3f9d24bf75bcc310c74585760a3b0ac1b1727582bb46c')]
+checksums = ['4d0fb92e4964f79dfaed77ac73f1a7f754c671a9f5ad29c7950c0844916ce5f5']
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('git', '2.41.0', '-nodocs'),
+    ('CMake', '3.27.6'),
+    ('git', '2.42.0'),
 ]
 dependencies = [
-    ('Boost', '1.82.0'),
-    ('libjpeg-turbo', '2.1.5.1'),
-    ('libpng', '1.6.39'),
-    ('LibTIFF', '4.5.0'),
-    ('OpenEXR', '3.1.7'),
-    ('freetype', '2.13.0'),
+    ('libjpeg-turbo', '3.0.1'),
+    ('libpng', '1.6.40'),
+    ('LibTIFF', '4.6.0'),
+    ('OpenEXR', '3.2.0'),
+    ('freetype', '2.13.2'),
     ('zlib', '1.2.13'),
+    ('OpenColorIO', '2.4.2'),
+    ('pybind11', '2.11.1'),
+    ('OpenCV', '4.11.0', '-contrib'),
+    ('FFmpeg', '6.0'),
+    ('fmt', '10.2.1'),
+    ('libheif', '1.19.5'),
+    ('OpenJPEG', '2.5.0'),
+    ('Qt6', '6.6.3'),
+    ('tbb', '2021.13.0'),
+    # DCMTK -> needs update config
 ]
 
-configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF'
+separate_build_dir = True
+
+configopts = '-DSTOP_ON_WARNING=OFF '
+configopts += '-DOpenImageIO_BUILD_MISSING_DEPS=all '
 
 sanity_check_paths = {
     'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT],
Diff against OpenImageIO-2.3.17.0-GCC-11.3.0.eb

easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb

diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-3.0.6.1-foss-2023b.eb
index 2063f8af36..26415cd037 100644
--- a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb
+++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-3.0.6.1-foss-2023b.eb
@@ -1,33 +1,45 @@
 easyblock = 'CMakeMake'
 
 name = 'OpenImageIO'
-version = '2.3.17.0'
+version = '3.0.6.1'
 
 homepage = 'https://openimageio.org/'
 description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities,
  and applications."""
 
-toolchain = {'name': 'GCC', 'version': '11.3.0'}
+toolchain = {'name': 'foss', 'version': '2023b'}
 
 source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/']
 sources = ['v%(version)s.tar.gz']
-checksums = ['22d38347b40659d218fcafcadc9258d3f6eda0be02029b11969361c9a6fa9f5c']
+checksums = ['4d0fb92e4964f79dfaed77ac73f1a7f754c671a9f5ad29c7950c0844916ce5f5']
 
 builddependencies = [
-    ('CMake', '3.23.1'),
-    ('git', '2.36.0', '-nodocs'),
+    ('CMake', '3.27.6'),
+    ('git', '2.42.0'),
 ]
 dependencies = [
-    ('Boost', '1.79.0'),
-    ('libjpeg-turbo', '2.1.3'),
-    ('libpng', '1.6.37'),
-    ('LibTIFF', '4.3.0'),
-    ('OpenEXR', '3.1.5'),
-    ('freetype', '2.12.1'),
-    ('zlib', '1.2.12'),
+    ('libjpeg-turbo', '3.0.1'),
+    ('libpng', '1.6.40'),
+    ('LibTIFF', '4.6.0'),
+    ('OpenEXR', '3.2.0'),
+    ('freetype', '2.13.2'),
+    ('zlib', '1.2.13'),
+    ('OpenColorIO', '2.4.2'),
+    ('pybind11', '2.11.1'),
+    ('OpenCV', '4.11.0', '-contrib'),
+    ('FFmpeg', '6.0'),
+    ('fmt', '10.2.1'),
+    ('libheif', '1.19.5'),
+    ('OpenJPEG', '2.5.0'),
+    ('Qt6', '6.6.3'),
+    ('tbb', '2021.13.0'),
+    # DCMTK -> needs update config
 ]
 
-configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF'
+separate_build_dir = True
+
+configopts = '-DSTOP_ON_WARNING=OFF '
+configopts += '-DOpenImageIO_BUILD_MISSING_DEPS=all '
 
 sanity_check_paths = {
     'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT],

@fizwit
Copy link
Contributor

fizwit commented Jul 29, 2025

Can you please add OpenColorIO-2.4.2-foss-2023b.eb

@laraPPr
Copy link
Contributor Author

laraPPr commented Jul 30, 2025

I added it in a seperate pr see #23522

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

@boegelbot please test @ jsc-zen3

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

Test report by @Crivella
FAILED
Build succeeded for 9 out of 11 (4 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/0837df56d1846b50221eec5a501c3b4a for a full test report.

@boegelbot
Copy link
Collaborator

@Crivella: 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=23523 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23523 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3163834349 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).

@Thyre Thyre added the 2023b label Aug 7, 2025
@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 6 out of 6 (4 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/b0df9a1783a115a553c847b78132d42c for a full test report.

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

/home/crivella/.local/easybuild/build/OpenCV/4.11.0/foss-2023b-contrib/opencv-4.11.0/modules/core/src/hal_internal.cpp:698:25:   required from here
/home/crivella/.local/easybuild/build/OpenCV/4.11.0/foss-2023b-contrib/opencv-4.11.0/modules/core/src/hal_internal.cpp:603:20: error: ‘cblas_cgemm’ was not declared in this scope; did you mean ‘cblas_cgemm64_’?
  603 |         cblas_cgemm(CblasRowMajor, transA, transB, a_m, d_n, a_n, (float*)reinterpret_cast<fptype(&)[2]>(cAlpha), (float*)src1, ldsrc1, (float*)src2, ldsrc2, (float*)reinterpret_cast<fptype(&)[2]>(cBeta), (float*)dst, lddst);
      |         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         cblas_cgemm64_
/home/crivella/.local/easybuild/build/OpenCV/4.11.0/foss-2023b-contrib/opencv-4.11.0/modules/core/src/hal_internal.cpp:605:20: error: ‘cblas_zgemm’ was not declared in this scope; did you mean ‘cblas_zgemm64_’?
  605 |         cblas_zgemm(CblasRowMajor, transA, transB, a_m, d_n, a_n, (double*)reinterpret_cast<fptype(&)[2]>(cAlpha), (double*)src1, ldsrc1, (double*)src2, ldsrc2, (double*)reinterpret_cast<fptype(&)[2]>(cBeta), (double*)dst, lddst);
      |         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         cblas_zgemm64_
make[2]: *** [modules/core/CMakeFiles/opencv

For some arcane reason on my build it the path to the OpenBLAS include files is being hardcoded in opencv_lapack.h instead of FlexiBLAS

hal_internal.cpp

...
#include "precomp.hpp"
#include "hal_internal.hpp"
...

opencv_lapack.h

...

#include "/home/crivella/.local/easybuild/software/OpenBLAS/0.3.24-GCC-13.2.0/include/cblas.h"
#include "/home/crivella/.local/easybuild/software/OpenBLAS/0.3.24-GCC-13.2.0/include/lapacke.h"
...

from the configure step

-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- Could NOT find Atlas (missing: Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY) 
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Found Threads: TRUE  
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /home/crivella/.local/easybuild/software/FlexiBLAS/3.3.1-GCC-13.2.0/lib/libflexiblas.so  
-- Looking for cheev_
-- Looking for cheev_ - found
-- Found LAPACK: /home/crivella/.local/easybuild/software/FlexiBLAS/3.3.1-GCC-13.2.0/lib/libflexiblas.so;-lm;-ldl  
-- LAPACK(LAPACK/Generic): LAPACK_LIBRARIES: /home/crivella/.local/easybuild/software/FlexiBLAS/3.3.1-GCC-13.2.0/lib/libflexiblas.so;-lm;-ldl
-- LAPACK(LAPACK/Generic): Support is enabled.

and the OpenBLAS include file does not seem to have the generic definitions

crivella@crivella-desktop:~/.local/easybuild/software/OpenBLAS/0.3.24-GCC-13.2.0/include$ grep -R "cblas_zgem" *
cblas.h:void cblas_zgemv64_(OPENBLAS_CONST enum CBLAS_ORDER order,  OPENBLAS_CONST enum CBLAS_TRANSPOSE trans,  OPENBLAS_CONST blasint m, OPENBLAS_CONST blasint n,
cblas.h:void cblas_zgemm64_(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,
cblas.h:void cblas_zgemm3m64_(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,

Weirdly this is different if i do it on the same OpenBLAS from EESSI

crivella@crivella-desktop:/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/intel/haswell/software/OpenBLAS/0.3.24-GCC-13.2.0/include$ grep -R "cblas_zgem" *
cblas.h:void cblas_zgemv(OPENBLAS_CONST enum CBLAS_ORDER order,  OPENBLAS_CONST enum CBLAS_TRANSPOSE trans,  OPENBLAS_CONST blasint m, OPENBLAS_CONST blasint n,
cblas.h:void cblas_zgemm(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,
cblas.h:void cblas_zgemm3m(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,

Gonna try and redo a rebuild of mine just in case

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

Umh nope still the same

crivella@crivella-desktop:~/.local/easybuild/software/OpenBLAS/0.3.24-GCC-13.2.0/include$ grep -R "cblas_zgem" *
cblas.h:void cblas_zgemv64_(OPENBLAS_CONST enum CBLAS_ORDER order,  OPENBLAS_CONST enum CBLAS_TRANSPOSE trans,  OPENBLAS_CONST blasint m, OPENBLAS_CONST blasint n,
cblas.h:void cblas_zgemm64_(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,
cblas.h:void cblas_zgemm3m64_(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransB, OPENBLAS_CONST blasint M, OPENBLAS_CONST blasint N, OPENBLAS_CONST blasint K,

my guess here is that the multiple builds of OpenBLAS in order to also build 64 bit support that are run with SYMBOLSUFFIX=64_ are causing the correct include files to be overwritten.

The builds on EESSI do not have the 64 libs so i assume either because of an older easyblock/easyconfig or because of an hook they were excluded (guess we can check the reprod) folder.

So we have to either figure out how to get FlexiBLAS to be used, or figure out if we should switch the order the libraries are build in the easyblock, or alternatively ensure that we get not only multiple version of the library, but also of the include files?

@bartoldeman Do you know if the 64_ suffixed symbols are what we expect to find in the cblas.h include files or if this is a bug that went under the radar because we always use FlexiBLAS?

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

BTW beside trying to get OpenCV to pick-up the FlexiBLAS include path instead of the OpenBLAS one might be the only thing pertaining this PR, the rest of the discussion is more OpenBLAS specific

@laraPPr
Copy link
Contributor Author

laraPPr commented Aug 7, 2025

Test report by @laraPPr
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
node4013.donphan.os - Linux RHEL 9.4 (Plow), x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz (cascadelake), 1 x NVIDIA NVIDIA A2, 570.133.20, Python 3.11.3
See https://gist.github.com/laraPPr/7ba94624918ec9347dc9dbc350f24b55 for a full test report.

@laraPPr
Copy link
Contributor Author

laraPPr commented Aug 7, 2025

Test report by @laraPPr
SUCCESS
Build succeeded for 11 out of 11 (4 easyconfigs in total)
node3623.doduo.os - Linux RHEL 9.4 (Plow), x86_64, AMD EPYC 7552 48-Core Processor, Python 3.9.18
See https://gist.github.com/laraPPr/296446db0ae3c55d9240b1d33e3aa5ed for a full test report.

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

https://github.com/opencv/opencv/blob/31b0eeea0b44b370fd0712312df4214d4ae1b158/cmake/OpenCVFindLAPACK.cmake#L46-L79

And from the CMakeVars.txt

LAPACK_IMPL=LAPACK/Generic
LAPACK_INCLUDE_DIR=/home/crivella/.local/easybuild/software/OpenBLAS/0.3.24-GCC-13.2.0/include
LAPACK_LAPACKE_H=lapacke.h
LAPACK_LIBRARIES=/home/crivella/.local/easybuild/software/FlexiBLAS/3.3.1-GCC-13.2.0/lib/libflexiblas.so;-lm;-ldl

Also not sure FlexiBLAS is explicitly supported https://github.com/opencv/opencv/blob/31b0eeea0b44b370fd0712312df4214d4ae1b158/cmake/OpenCVFindLAPACK.cmake#L166

Have to check if we can manually pass LAPACK_LIBRARIES and the other required variables

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

So the problem i am having will only appear if you have a recent build of OpenBLAS after the merging of

Since before the 64bit version was not being built this was not a problem.
Still we are using the library from FlexiBLAS with the headers from OpenBLAS which i think we should avoid

I've opened an easyblock Issue and a PR that should fix this by manually telling to OpenCV the lapack details if FlexiBLAS is found

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

Test report by @Crivella
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3874
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/248bc76678b927676f052fa4629edc98 for a full test report.

@Crivella
Copy link
Contributor

Crivella commented Aug 7, 2025

From the configure step

-- Generating done (0.2s)
CMake Warning:
  Manually-specified variables were not used by the project:

    BOOST_ROOT
    Boost_NO_SYSTEM_PATHS
    PYTHON_EXECUTABLE
    Python_EXECUTABLE

It seems BOOST is not used by this package anymore it seems since 3.0.0.3

Co-authored-by: Davide Grassano <[email protected]>
@Crivella
Copy link
Contributor

Crivella commented Oct 6, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@Crivella: 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=23523 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23523 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3371103108 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).

@Crivella
Copy link
Contributor

Crivella commented Oct 6, 2025

Test report by @Crivella
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/7a1a2e17303e52e6d4d90883afa85ff1 for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 4 out of 4 (4 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/f28c73d66625ac680415e0a6ea1a34c4 for a full test report.

@Crivella Crivella added this to the next release (5.2.0?) milestone Oct 6, 2025
Copy link
Contributor

@Crivella Crivella left a comment

Choose a reason for hiding this comment

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

LGTM

@Crivella
Copy link
Contributor

Crivella commented Oct 6, 2025

Going in, thanks @laraPPr!

@Crivella Crivella merged commit bf00889 into easybuilders:develop Oct 6, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants