From 96250473b1efa8111780f9116b26a8308f038757 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 27 Apr 2023 15:26:07 +0200 Subject: [PATCH 1/4] adding easyconfigs: pygmo-2.19.5-foss-2022b.eb, pagmo-2.19.0-foss-2022b.eb --- .../p/pagmo/pagmo-2.19.0-foss-2022b.eb | 36 ++++++++++++ .../p/pygmo/pygmo-2.19.5-foss-2022b.eb | 58 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb create mode 100644 easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb diff --git a/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb b/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb new file mode 100644 index 00000000000..c497bd406af --- /dev/null +++ b/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'pagmo' +version = '2.19.0' + +homepage = 'https://esa.github.io/pagmo2' +description = "pagmo is a C++ scientific library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/esa/pagmo2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['701ada528de7d454201e92a5d88903dd1c22ea64f43861d9694195ddfef82a70'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('tbb', '2021.9.0'), + ('Eigen', '3.4.0'), + ('NLopt', '2.7.1'), +] + +configopts = "-DPAGMO_WITH_EIGEN3=ON -DPAGMO_WITH_NLOPT=ON -DPAGMO_BUILD_TESTS=ON" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libpagmo.%s' % SHLIB_EXT], + 'dirs': ['include/pagmo', 'lib/cmake/pagmo'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb new file mode 100644 index 00000000000..f6b56bc229a --- /dev/null +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb @@ -0,0 +1,58 @@ +easyblock = 'CMakePythonPackage' + +name = 'pygmo' +version = '2.19.5' + +homepage = 'https://esa.github.io/pygmo2' +description = "pygmo is a scientific Python library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/esa/pygmo2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['742ff0c3d535cb2af94d5095968d8f29c23ed7bdbd4ddd8259ca787eef881aa2'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Boost', '1.81.0'), + ('pagmo', '2.19.0'), + ('matplotlib', '3.7.0'), + ('networkx', '3.0'), +] + +# make sure that all files are installed in the correct location (-DCMAKE_INSTALL_PREFIX is not enough)... +configopts = "-DPYGMO_INSTALL_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" + +runtest = False + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pygmo'], +} + +sanity_pip_check = True + +moduleclass = 'lib' From 517ab5c28c7614af843a788eeb5b5f866509d898 Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Thu, 27 Apr 2023 15:52:21 +0200 Subject: [PATCH 2/4] tbb/2021.9.0 for GCCcore/12.2.0 --- .../t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1a7a522f8bf --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeNinja' + +name = 'tbb' +version = '2021.9.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [('hwloc', '2.8.0')] + +configopts = '-DTBB_TEST=OFF ' + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' From a87884ef98f776bbc1ef5d289aa5d406ca5ba7ca Mon Sep 17 00:00:00 2001 From: Simon Pinches Date: Sat, 24 Jun 2023 18:15:06 +0200 Subject: [PATCH 3/4] pagmo,pygmo: foss/2022b -> gfbf/2022b; tbb: Ninja -> CMakeMake --- ...{pagmo-2.19.0-foss-2022b.eb => pagmo-2.19.0-gfbf-2022b.eb} | 3 +-- ...{pygmo-2.19.5-foss-2022b.eb => pygmo-2.19.5-gfbf-2022b.eb} | 2 +- easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb | 4 +--- 3 files changed, 3 insertions(+), 6 deletions(-) rename easybuild/easyconfigs/p/pagmo/{pagmo-2.19.0-foss-2022b.eb => pagmo-2.19.0-gfbf-2022b.eb} (90%) rename easybuild/easyconfigs/p/pygmo/{pygmo-2.19.5-foss-2022b.eb => pygmo-2.19.5-gfbf-2022b.eb} (96%) diff --git a/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb b/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-gfbf-2022b.eb similarity index 90% rename from easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb rename to easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-gfbf-2022b.eb index c497bd406af..6f64905045c 100644 --- a/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-foss-2022b.eb +++ b/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-gfbf-2022b.eb @@ -6,8 +6,7 @@ version = '2.19.0' homepage = 'https://esa.github.io/pagmo2' description = "pagmo is a C++ scientific library for massively parallel optimization." -toolchain = {'name': 'foss', 'version': '2022b'} -toolchainopts = {'usempi': True} +toolchain = {'name': 'gfbf', 'version': '2022b'} source_urls = ['https://github.com/esa/pagmo2/archive/'] sources = ['v%(version)s.tar.gz'] diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-gfbf-2022b.eb similarity index 96% rename from easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb rename to easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-gfbf-2022b.eb index f6b56bc229a..20109f00554 100644 --- a/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-foss-2022b.eb +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-gfbf-2022b.eb @@ -6,7 +6,7 @@ version = '2.19.5' homepage = 'https://esa.github.io/pygmo2' description = "pygmo is a scientific Python library for massively parallel optimization." -toolchain = {'name': 'foss', 'version': '2022b'} +toolchain = {'name': 'gfbf', 'version': '2022b'} source_urls = ['https://github.com/esa/pygmo2/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb index 1a7a522f8bf..68c8f42e14c 100644 --- a/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeNinja' +easyblock = 'CMakeMake' name = 'tbb' version = '2021.9.0' @@ -8,7 +8,6 @@ description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easi take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" toolchain = {'name': 'GCCcore', 'version': '12.2.0'} -toolchainopts = {'cstd': 'c++11'} source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] @@ -17,7 +16,6 @@ checksums = ['1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e'] builddependencies = [ ('binutils', '2.39'), ('CMake', '3.24.3'), - ('Ninja', '1.11.1'), ] dependencies = [('hwloc', '2.8.0')] From cf40308430eea2b289122cf931e371227f7273ae Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Jul 2024 19:40:27 +0200 Subject: [PATCH 4/4] enable test in easyconfig for tbb 2021.9.0 + add -Wno-stringop-overflow to work around failing compilation of tests --- easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb index 68c8f42e14c..d0173aab4ea 100644 --- a/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb @@ -20,7 +20,8 @@ builddependencies = [ dependencies = [('hwloc', '2.8.0')] -configopts = '-DTBB_TEST=OFF ' +# use -Wno-error as workaround for compiler error when building the tests +preconfigopts = 'export CXXFLAGS="$CXXFLAGS -Wno-stringop-overflow" && ' sanity_check_paths = { 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT],