Skip to content

{lib,tools}GCCcore/13.3.0,gompi/2024a]-libaec-v1.1.3,-ecCodes-v2.38.3#21858

Merged
smoors merged 2 commits intoeasybuilders:developfrom
stefan-wolfsheimer:eccodes
Nov 22, 2024
Merged

{lib,tools}GCCcore/13.3.0,gompi/2024a]-libaec-v1.1.3,-ecCodes-v2.38.3#21858
smoors merged 2 commits intoeasybuilders:developfrom
stefan-wolfsheimer:eccodes

Conversation

@stefan-wolfsheimer
Copy link
Copy Markdown
Contributor

No description provided.

@github-actions
Copy link
Copy Markdown

Updated software ecCodes-2.38.3-gompi-2024a.eb

Diff against ecCodes-2.27.0-iimpi-2022a.eb

easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-iimpi-2022a.eb

diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-iimpi-2022a.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.38.3-gompi-2024a.eb
index 33fddc6886..2aa0915ea2 100644
--- a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-iimpi-2022a.eb
+++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.38.3-gompi-2024a.eb
@@ -1,47 +1,46 @@
 easyblock = 'CMakeMake'
 
 name = 'ecCodes'
-version = '2.27.0'
+version = '2.38.3'
 
 homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home'
 description = """ecCodes is a package developed by ECMWF which provides an application programming interface and
  a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2,
  WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding)."""
 
-toolchain = {'name': 'iimpi', 'version': '2022a'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'usempi': False}
 
-source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/']
-sources = ['eccodes-%(version)s-Source.tar.gz']
-checksums = ['ede5b3ffd503967a5eac89100e8ead5e16a881b7585d02f033584ed0c4269c99']
-
-builddependencies = [('CMake', '3.23.1')]
+source_urls = ['https://github.com/ecmwf/eccodes/archive/refs/tags/']
+sources = [{'download_filename': '%(version)s.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}]
+checksums = ['2f13adc4fbdfa3ea11f75ce4ed8937bf40a8fcedd760a519b15e4e17dedc9424']
 
+builddependencies = [
+    ('CMake', '3.29.3'),
+    ('ecBuild', '3.8.5'),
+]
 dependencies = [
-    ('netCDF', '4.9.0'),
-    ('JasPer', '2.0.33'),
-    ('libjpeg-turbo', '2.1.3'),
-    ('libpng', '1.6.37'),
-    ('zlib', '1.2.12'),
-    ('libaec', '1.0.6'),
+    ('netCDF', '4.9.2'),
+    ('JasPer', '4.2.4'),
+    ('libjpeg-turbo', '3.0.1'),
+    ('libpng', '1.6.43'),
+    ('zlib', '1.3.1'),
+    ('libaec', '1.1.3'),
 ]
 
 # Python bindings are provided by a separate package 'eccodes-python'
-configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF "
-configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON "
-configopts += "-DENABLE_ECCODES_THREADS=ON"  # multi-threading with pthreads
+configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF -DENABLE_JPG=ON "
+configopts += "-DENABLE_JPG_LIBJASPER=ON -DENABLE_ECCODES_THREADS=ON"
 
-local_exes = ['%s_%s' % (a, b)
-              for a in ['bufr', 'grib', 'gts', 'metar']
-              for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']]
-local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']]
 
 sanity_check_paths = {
-    'files': ['bin/%s' % x for x in local_exes] +
-             ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT],
+    'files': ['bin/bufr_compare', 'bin/bufr_copy', 'bin/bufr_dump', 'bin/bufr_filter', 'bin/bufr_get', 'bin/bufr_ls',
+              'bin/grib_compare', 'bin/grib_copy', 'bin/grib_dump', 'bin/grib_filter', 'bin/grib_get', 'bin/grib_ls',
+              'bin/gts_compare', 'bin/gts_copy', 'bin/gts_dump', 'bin/gts_filter', 'bin/gts_get', 'bin/gts_ls',
+              'bin/metar_compare', 'bin/metar_copy', 'bin/metar_dump', 'bin/metar_filter', 'bin/metar_get',
+              'bin/metar_ls', 'bin/codes_count', 'bin/codes_info', 'bin/codes_split_file',
+              'lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT],
     'dirs': ['include'],
 }
 
-sanity_check_commands = ['%s -V' % x for x in local_exes if not x.startswith('codes_')]
-
 moduleclass = 'tools'
Diff against ecCodes-2.31.0-gompi-2022b.eb

easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2022b.eb

diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2022b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.38.3-gompi-2024a.eb
index 5488a82841..2aa0915ea2 100644
--- a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2022b.eb
+++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.38.3-gompi-2024a.eb
@@ -1,31 +1,31 @@
 easyblock = 'CMakeMake'
 
 name = 'ecCodes'
-version = '2.31.0'
+version = '2.38.3'
 
 homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home'
 description = """ecCodes is a package developed by ECMWF which provides an application programming interface and
  a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2,
  WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding)."""
 
-toolchain = {'name': 'gompi', 'version': '2022b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'usempi': False}
 
 source_urls = ['https://github.com/ecmwf/eccodes/archive/refs/tags/']
 sources = [{'download_filename': '%(version)s.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}]
-checksums = ['cb4cd3bab9cebd85a00397e12ce8e4a579b2f0a25aaf6df763436cf37db063e1']
+checksums = ['2f13adc4fbdfa3ea11f75ce4ed8937bf40a8fcedd760a519b15e4e17dedc9424']
 
 builddependencies = [
-    ('CMake', '3.24.3'),
-    ('ecBuild', '3.8.0', '', SYSTEM),
+    ('CMake', '3.29.3'),
+    ('ecBuild', '3.8.5'),
 ]
 dependencies = [
-    ('netCDF', '4.9.0'),
-    ('JasPer', '4.0.0'),
-    ('libjpeg-turbo', '2.1.4'),
-    ('libpng', '1.6.38'),
-    ('zlib', '1.2.12'),
-    ('libaec', '1.0.6'),
+    ('netCDF', '4.9.2'),
+    ('JasPer', '4.2.4'),
+    ('libjpeg-turbo', '3.0.1'),
+    ('libpng', '1.6.43'),
+    ('zlib', '1.3.1'),
+    ('libaec', '1.1.3'),
 ]
 
 # Python bindings are provided by a separate package 'eccodes-python'
Diff against ecCodes-2.31.0-gompi-2023b.eb

easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023b.eb

diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.38.3-gompi-2024a.eb
index 298c5b7134..2aa0915ea2 100644
--- a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023b.eb
+++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.38.3-gompi-2024a.eb
@@ -1,31 +1,31 @@
 easyblock = 'CMakeMake'
 
 name = 'ecCodes'
-version = '2.31.0'
+version = '2.38.3'
 
 homepage = 'https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home'
 description = """ecCodes is a package developed by ECMWF which provides an application programming interface and
  a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2,
  WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding)."""
 
-toolchain = {'name': 'gompi', 'version': '2023b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'usempi': False}
 
 source_urls = ['https://github.com/ecmwf/eccodes/archive/refs/tags/']
 sources = [{'download_filename': '%(version)s.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}]
-checksums = ['cb4cd3bab9cebd85a00397e12ce8e4a579b2f0a25aaf6df763436cf37db063e1']
+checksums = ['2f13adc4fbdfa3ea11f75ce4ed8937bf40a8fcedd760a519b15e4e17dedc9424']
 
 builddependencies = [
-    ('CMake', '3.27.6'),
-    ('ecBuild', '3.8.0', '', SYSTEM),
+    ('CMake', '3.29.3'),
+    ('ecBuild', '3.8.5'),
 ]
 dependencies = [
     ('netCDF', '4.9.2'),
-    ('JasPer', '4.0.0'),
+    ('JasPer', '4.2.4'),
     ('libjpeg-turbo', '3.0.1'),
-    ('libpng', '1.6.40'),
-    ('zlib', '1.2.13'),
-    ('libaec', '1.0.6'),
+    ('libpng', '1.6.43'),
+    ('zlib', '1.3.1'),
+    ('libaec', '1.1.3'),
 ]
 
 # Python bindings are provided by a separate package 'eccodes-python'

Updated software libaec-1.1.3-GCCcore-13.3.0.eb

Diff against libaec-1.0.6-GCCcore-12.2.0.eb

easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb

diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.1.3-GCCcore-13.3.0.eb
index bc29e5b97e..267acc5aa3 100644
--- a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.2.0.eb
+++ b/easybuild/easyconfigs/l/libaec/libaec-1.1.3-GCCcore-13.3.0.eb
@@ -3,7 +3,7 @@
 easyblock = 'CMakeMake'
 
 name = 'libaec'
-version = '1.0.6'
+version = '1.1.3'
 
 homepage = 'https://gitlab.dkrz.de/k202009/libaec'
 description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers
@@ -11,24 +11,26 @@ description = """Libaec provides fast lossless compression of 1 up to 32 bit wid
 instrument data or numerical model output from weather or climate simulations. While floating point representations
 are not directly supported, they can also be efficiently coded by grouping exponents and mantissa."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s']
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be']
+patches = ["libaec-1.1.3_install_binary.patch"]
+
+checksums = ['453de44eb6ea2500843a4cf4d2e97d1be251d2df7beae6c2ebe374edcb11e378',
+             '52fcdeacd9c27108dffafd8109012902fa63fb2e39803670a3ba16f313628f4c']
 
 builddependencies = [
-    ('CMake', '3.24.3'),
-    ('binutils', '2.39'),
+    ('CMake', '3.29.3'),
+    ('binutils', '2.42'),
 ]
 
-
 sanity_check_paths = {
-    'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h',
+    'files': ['bin/graec', 'include/%(name)s.h', 'include/szlib.h',
               'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT],
-    'dirs': ['share/man'],
+    'dirs': [],
 }
 
-sanity_check_commands = ['aec --help']
+sanity_check_commands = ['graec --help']
 
 moduleclass = 'lib'
Diff against libaec-1.0.6-GCCcore-13.2.0.eb

easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb

diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.1.3-GCCcore-13.3.0.eb
index c458b8ac41..267acc5aa3 100644
--- a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-13.2.0.eb
+++ b/easybuild/easyconfigs/l/libaec/libaec-1.1.3-GCCcore-13.3.0.eb
@@ -3,7 +3,7 @@
 easyblock = 'CMakeMake'
 
 name = 'libaec'
-version = '1.0.6'
+version = '1.1.3'
 
 homepage = 'https://gitlab.dkrz.de/k202009/libaec'
 description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers
@@ -11,24 +11,26 @@ description = """Libaec provides fast lossless compression of 1 up to 32 bit wid
 instrument data or numerical model output from weather or climate simulations. While floating point representations
 are not directly supported, they can also be efficiently coded by grouping exponents and mantissa."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s']
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be']
+patches = ["libaec-1.1.3_install_binary.patch"]
+
+checksums = ['453de44eb6ea2500843a4cf4d2e97d1be251d2df7beae6c2ebe374edcb11e378',
+             '52fcdeacd9c27108dffafd8109012902fa63fb2e39803670a3ba16f313628f4c']
 
 builddependencies = [
-    ('CMake', '3.27.6'),
-    ('binutils', '2.40'),
+    ('CMake', '3.29.3'),
+    ('binutils', '2.42'),
 ]
 
-
 sanity_check_paths = {
-    'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h',
+    'files': ['bin/graec', 'include/%(name)s.h', 'include/szlib.h',
               'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT],
-    'dirs': ['share/man'],
+    'dirs': [],
 }
 
-sanity_check_commands = ['aec --help']
+sanity_check_commands = ['graec --help']
 
 moduleclass = 'lib'
Diff against libaec-1.0.6-GCCcore-12.3.0.eb

easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.1.3-GCCcore-13.3.0.eb
index e434092683..267acc5aa3 100644
--- a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/l/libaec/libaec-1.1.3-GCCcore-13.3.0.eb
@@ -3,7 +3,7 @@
 easyblock = 'CMakeMake'
 
 name = 'libaec'
-version = '1.0.6'
+version = '1.1.3'
 
 homepage = 'https://gitlab.dkrz.de/k202009/libaec'
 description = """Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers
@@ -11,24 +11,26 @@ description = """Libaec provides fast lossless compression of 1 up to 32 bit wid
 instrument data or numerical model output from weather or climate simulations. While floating point representations
 are not directly supported, they can also be efficiently coded by grouping exponents and mantissa."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s']
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be']
+patches = ["libaec-1.1.3_install_binary.patch"]
+
+checksums = ['453de44eb6ea2500843a4cf4d2e97d1be251d2df7beae6c2ebe374edcb11e378',
+             '52fcdeacd9c27108dffafd8109012902fa63fb2e39803670a3ba16f313628f4c']
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('binutils', '2.40'),
+    ('CMake', '3.29.3'),
+    ('binutils', '2.42'),
 ]
 
-
 sanity_check_paths = {
-    'files': ['bin/aec', 'include/%(name)s.h', 'include/szlib.h',
+    'files': ['bin/graec', 'include/%(name)s.h', 'include/szlib.h',
               'lib/libaec.a', 'lib/libaec.%s' % SHLIB_EXT],
-    'dirs': ['share/man'],
+    'dirs': [],
 }
 
-sanity_check_commands = ['aec --help']
+sanity_check_commands = ['graec --help']
 
 moduleclass = 'lib'

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Nov 17, 2024

easybuild.tools.build_log.EasyBuildError: 'Missing dependencies: netCDF/4.9.2-gompi-2024a (no easyconfig file or existing module found)'

@stefan-wolfsheimer
Copy link
Copy Markdown
Contributor Author

easybuild.tools.build_log.EasyBuildError: 'Missing dependencies: netCDF/4.9.2-gompi-2024a (no easyconfig file or existing module found)'

Hi @smoors The easyconfig has been added in this PR: #21862

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Nov 19, 2024

Hi @smoors The easyconfig has been added in this PR: #21862

thanks, we usually mention the PRs it depends on in the first comment, so it's clear why CI fails.

also, neat trick: use the following format, so you can see the status of the dependent PR:
- #21862
like this:

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Nov 20, 2024

@boegelbot: please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@smoors: Request for testing this PR well received on login1

PR test command 'EB_PR=21858 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_21858 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2489132952 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 (2 easyconfigs in total)
cns1 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/a39314b15c74b17c99e8020ada2ee316 for a full test report.

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Nov 22, 2024

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

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

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2493545997 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 (2 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.4, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.18
See https://gist.github.com/boegelbot/7e2b01cf15503fa7765d65f897598150 for a full test report.

@smoors smoors added this to the release after 4.9.4 milestone Nov 22, 2024
Copy link
Copy Markdown
Contributor

@smoors smoors left a comment

Choose a reason for hiding this comment

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

lgtm

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Nov 22, 2024

Going in, thanks @stefan-wolfsheimer!

@smoors smoors merged commit 63974c2 into easybuilders:develop Nov 22, 2024
@boegel boegel modified the milestones: release after 4.9.4, 5.0.0 Mar 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants