Skip to content

{devel}[nvidia-compilers/25.3] Boost v1.88.0#23755

Open
Thyre wants to merge 3 commits intoeasybuilders:developfrom
Thyre:20250828123357_new_pr_Boost1880
Open

{devel}[nvidia-compilers/25.3] Boost v1.88.0#23755
Thyre wants to merge 3 commits intoeasybuilders:developfrom
Thyre:20250828123357_new_pr_Boost1880

Conversation

@Thyre
Copy link
Collaborator

@Thyre Thyre commented Aug 28, 2025

…: Boost-1.88.0_better-nvhpc-support.patch, Boost-1.88.0_nvhpc-remove-constexpr.patch
@Thyre Thyre added the update label Aug 28, 2025
@github-actions github-actions bot added the new label Aug 28, 2025
@github-actions
Copy link

github-actions bot commented Aug 28, 2025

Updated software Boost-1.88.0-nvidia-compilers-25.3.eb

Diff against Boost-1.88.0-llvm-compilers-20.1.8.eb

easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb

diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-nvidia-compilers-25.3.eb
index 97767e5db7..304dc53671 100644
--- a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-llvm-compilers-20.1.8.eb
+++ b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-nvidia-compilers-25.3.eb
@@ -4,19 +4,27 @@ version = '1.88.0'
 homepage = 'https://www.boost.org/'
 description = """Boost provides free peer-reviewed portable C++ source libraries."""
 
-toolchain = {'name': 'llvm-compilers', 'version': '20.1.8'}
+toolchain = {'name': 'nvidia-compilers', 'version': '25.3'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://archives.boost.io/release/%(version)s/source/']
 sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
-checksums = ['3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4']
+patches = [
+    'Boost-1.88.0_better-nvhpc-support.patch',
+    'Boost-1.88.0_nvhpc-remove-constexpr.patch'
+]
+checksums = [
+    {'boost_1_88_0.tar.gz': '3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4'},
+    {'Boost-1.88.0_better-nvhpc-support.patch': 'c9203f4de6e386570da1134dbb0c61f47ce1980e8bc0caf9d36162f28e90c094'},
+    {'Boost-1.88.0_nvhpc-remove-constexpr.patch': 'bfe4600e53ab45e27cf02f90119837f0eac5e4b6f89d4ef00d8d66c0bfeacdda'},
+]
 
 dependencies = [
     ('bzip2', '1.0.8'),
     ('zlib', '1.3.1'),
-    ('XZ', '5.8.1'),
-    ('zstd', '1.5.7'),
-    ('ICU', '77.1'),
+    ('XZ', '5.6.3'),
+    ('zstd', '1.5.6'),
+    ('ICU', '76.1'),
 ]
 
 configopts = '--without-libraries=python,mpi'
Diff against Boost-1.88.0-intel-compilers-2025.2.0.eb

easybuild/easyconfigs/b/Boost/Boost-1.88.0-intel-compilers-2025.2.0.eb

diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-intel-compilers-2025.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-nvidia-compilers-25.3.eb
index fb374654e5..304dc53671 100644
--- a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-intel-compilers-2025.2.0.eb
+++ b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-nvidia-compilers-25.3.eb
@@ -4,34 +4,29 @@ version = '1.88.0'
 homepage = 'https://www.boost.org/'
 description = """Boost provides free peer-reviewed portable C++ source libraries."""
 
-toolchain = {'name': 'intel-compilers', 'version': '2025.2.0'}
+toolchain = {'name': 'nvidia-compilers', 'version': '25.3'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://archives.boost.io/release/%(version)s/source/']
 sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
-checksums = ['3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4']
+patches = [
+    'Boost-1.88.0_better-nvhpc-support.patch',
+    'Boost-1.88.0_nvhpc-remove-constexpr.patch'
+]
+checksums = [
+    {'boost_1_88_0.tar.gz': '3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4'},
+    {'Boost-1.88.0_better-nvhpc-support.patch': 'c9203f4de6e386570da1134dbb0c61f47ce1980e8bc0caf9d36162f28e90c094'},
+    {'Boost-1.88.0_nvhpc-remove-constexpr.patch': 'bfe4600e53ab45e27cf02f90119837f0eac5e4b6f89d4ef00d8d66c0bfeacdda'},
+]
 
 dependencies = [
     ('bzip2', '1.0.8'),
     ('zlib', '1.3.1'),
-    ('XZ', '5.8.1'),
-    ('zstd', '1.5.7'),
-    ('ICU', '77.1'),
+    ('XZ', '5.6.3'),
+    ('zstd', '1.5.6'),
+    ('ICU', '76.1'),
 ]
 
-# add -pthread to icpx compiler tests
-_sed_cmd = "sed -i 's/icpx -x c++ -std=c++11 ;/icpx -x c++ -std=c++11 -pthread ;/g'"
-preconfigopts = f'{_sed_cmd} tools/build/src/engine/build.sh && '
-
-# -ip is not supported with OneAPI compilers
-# instead of -pch-create ... use -Xclang -emit-pch -o ...
-_sed_cmd2 = """sed -i -e 's/-c -pch-create/-c -Xclang -emit-pch -o/g' -e 's/-O3 -ip/-O3/g' -e 's/"ifort"/"ifx"/g'"""
-preconfigopts += f'{_sed_cmd2} tools/build/src/tools/intel-linux.jam && '
-
-# -wdXXX flags are not supported with OneAPI compilers
-_sed_cmd3 = r'''sed -i -E "/<toolset>intel(-linux|):<cxxflags>(\"|'|)-wd[0-9,]/d"'''
-preconfigopts += fr'find . -type f -name "Jamfile.v2" -exec {_sed_cmd3} {{}} \; && '
-
 configopts = '--without-libraries=python,mpi'
 
 # disable MPI, build Boost libraries with tagged layout
Diff against Boost-1.88.0-GCC-14.3.0.eb

easybuild/easyconfigs/b/Boost/Boost-1.88.0-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-GCC-14.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-nvidia-compilers-25.3.eb
index 976e152d46..304dc53671 100644
--- a/easybuild/easyconfigs/b/Boost/Boost-1.88.0-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/b/Boost/Boost-1.88.0-nvidia-compilers-25.3.eb
@@ -4,19 +4,27 @@ version = '1.88.0'
 homepage = 'https://www.boost.org/'
 description = """Boost provides free peer-reviewed portable C++ source libraries."""
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'nvidia-compilers', 'version': '25.3'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://archives.boost.io/release/%(version)s/source/']
 sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))]
-checksums = ['3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4']
+patches = [
+    'Boost-1.88.0_better-nvhpc-support.patch',
+    'Boost-1.88.0_nvhpc-remove-constexpr.patch'
+]
+checksums = [
+    {'boost_1_88_0.tar.gz': '3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4'},
+    {'Boost-1.88.0_better-nvhpc-support.patch': 'c9203f4de6e386570da1134dbb0c61f47ce1980e8bc0caf9d36162f28e90c094'},
+    {'Boost-1.88.0_nvhpc-remove-constexpr.patch': 'bfe4600e53ab45e27cf02f90119837f0eac5e4b6f89d4ef00d8d66c0bfeacdda'},
+]
 
 dependencies = [
     ('bzip2', '1.0.8'),
     ('zlib', '1.3.1'),
-    ('XZ', '5.8.1'),
-    ('zstd', '1.5.7'),
-    ('ICU', '77.1'),
+    ('XZ', '5.6.3'),
+    ('zstd', '1.5.6'),
+    ('ICU', '76.1'),
 ]
 
 configopts = '--without-libraries=python,mpi'

Signed-off-by: Jan André Reuter <j.reuter@fz-juelich.de>
@github-actions github-actions bot removed the new label Aug 28, 2025
@Thyre
Copy link
Collaborator Author

Thyre commented Aug 28, 2025

This was more or less just some testing to see if NVHPC can build Boost. At the moment, we have some packages at a more basic toolchain at JSC than we have here (e.g. Boost at GCCcore level), and issues like I've seen here with Boost might be a reason why we might stick with that approach for a bit longer.

I'll still try to provide ECs for NVHPC where possible, once we have the toolchain ready.

@Thyre Thyre added this to the 5.x milestone Aug 28, 2025
@Thyre
Copy link
Collaborator Author

Thyre commented Aug 28, 2025

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3788, easybuilders/easybuild-easyblocks#3906
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 580.65.06, Python 3.10.12
See https://gist.github.com/Thyre/ef98bc86a944da7357a9478f4b87a2bd for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Jan 20, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="--include-easyblocks-from-pr=3906 --installpath=/tmp/$USER/ecpr-23755"

@boegelbot
Copy link
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=23755 EB_ARGS="--include-easyblocks-from-pr=3906 --installpath=/tmp/$USER/ecpr-23755" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23755 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3771444262 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
Collaborator

Test report by @boegelbot
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3906
FAILED
Build succeeded for 0 out of 1 (total: 37 secs) (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/ba501f1a6a316bb781dc4dd4f0b70e14 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Jan 20, 2026

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3906
SUCCESS
Build succeeded for 1 out of 1 (total: 22 mins 19 secs) (1 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor, Python 3.9.23
See https://gist.github.com/Thyre/b0b25436de41b7a5a9a38bbdffe7a5a6 for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Jan 21, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="--include-easyblocks-from-pr=3906 --installpath=/tmp/$USER/ecpr-23755"

@boegelbot
Copy link
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=23755 EB_ARGS="--include-easyblocks-from-pr=3906 --installpath=/tmp/$USER/ecpr-23755" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_23755 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3776712268 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
Collaborator

Test report by @boegelbot
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3906
SUCCESS
Build succeeded for 1 out of 1 (total: 19 mins 50 secs) (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/5b81031f072597915b24b3c5f17dd15a for a full test report.

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.

2 participants