Skip to content

{lib}[GCCcore-13.2.0 ] spdlog v1.12.0#23808

Merged
Crivella merged 5 commits intoeasybuilders:developfrom
MdHassanPappu:spdlog_pic_enabled
Oct 17, 2025
Merged

{lib}[GCCcore-13.2.0 ] spdlog v1.12.0#23808
Crivella merged 5 commits intoeasybuilders:developfrom
MdHassanPappu:spdlog_pic_enabled

Conversation

@MdHassanPappu
Copy link
Copy Markdown

Add PIC-enabled variant for spdlog 1.12.0

The existing spdlog-1.12.0-GCCcore-13.2.0.eb builds without PIC.
However, PIC is required for DolfinX to build shared libraries that link against spdlog.

This PR introduces a second variant of spdlog with versionsuffix='pic', enabling shared library support, while keeping the original non-PIC build intact.

@github-actions github-actions bot added the update label Sep 5, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Sep 5, 2025

Updated software spdlog-1.12.0-GCCcore-13.2.0-pic.eb

Diff against spdlog-1.15.3-GCCcore-14.2.0.eb

easybuild/easyconfigs/s/spdlog/spdlog-1.15.3-GCCcore-14.2.0.eb

diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.15.3-GCCcore-14.2.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0-pic.eb
index 7b1f2627bc..7224490ceb 100644
--- a/easybuild/easyconfigs/s/spdlog/spdlog-1.15.3-GCCcore-14.2.0.eb
+++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0-pic.eb
@@ -1,24 +1,34 @@
 easyblock = 'CMakeMake'
 
 name = 'spdlog'
-version = '1.15.3'
+version = '1.12.0'
+versionsuffix = '-pic'
 
 homepage = 'https://github.com/gabime/spdlog'
-description = "Very fast, header-only/compiled, C++ logging library."
+description = 'Very fast, header-only/compiled, C++ logging library'
 
-toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchainopts = {'pic': True}
+build_shared_libs = True
 
-source_urls = ['https://github.com/gabime/%(name)s/archive/refs/tags/']
+source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/']
 sources = ['v%(version)s.tar.gz']
-checksums = ['15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67']
+checksums = ['4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9']
 
 builddependencies = [
-    ('binutils', '2.42'),
-    ('CMake', '3.31.3'),
+    ('CMake', '3.27.6'),
+    ('binutils', '2.40'),
+    ('make', '4.4.1'),
 ]
+
+configopts = " ".join([
+    "-DSPDLOG_BUILD_SHARED=ON",
+    "-DSPDLOG_BUILD_PIC=ON",
+])
+
 sanity_check_paths = {
-    'files': ['include/%(name)s/%(name)s.h'],
-    'dirs': ['lib64/cmake', 'lib64/pkgconfig'],
+    'files': ['include/spdlog/spdlog.h', 'lib/libspdlog.so'],
+    'dirs': ['lib/cmake', 'lib/pkgconfig'],
 }
 
 moduleclass = 'lib'
Diff against spdlog-1.15.3-GCCcore-14.3.0.eb

easybuild/easyconfigs/s/spdlog/spdlog-1.15.3-GCCcore-14.3.0.eb

diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.15.3-GCCcore-14.3.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0-pic.eb
index bc174194d0..7224490ceb 100644
--- a/easybuild/easyconfigs/s/spdlog/spdlog-1.15.3-GCCcore-14.3.0.eb
+++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0-pic.eb
@@ -1,24 +1,34 @@
 easyblock = 'CMakeMake'
 
 name = 'spdlog'
-version = '1.15.3'
+version = '1.12.0'
+versionsuffix = '-pic'
 
 homepage = 'https://github.com/gabime/spdlog'
-description = "Very fast, header-only/compiled, C++ logging library."
+description = 'Very fast, header-only/compiled, C++ logging library'
 
-toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchainopts = {'pic': True}
+build_shared_libs = True
 
-source_urls = ['https://github.com/gabime/%(name)s/archive/refs/tags/']
+source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/']
 sources = ['v%(version)s.tar.gz']
-checksums = ['15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67']
+checksums = ['4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9']
 
 builddependencies = [
-    ('binutils', '2.44'),
-    ('CMake', '4.0.3'),
+    ('CMake', '3.27.6'),
+    ('binutils', '2.40'),
+    ('make', '4.4.1'),
 ]
+
+configopts = " ".join([
+    "-DSPDLOG_BUILD_SHARED=ON",
+    "-DSPDLOG_BUILD_PIC=ON",
+])
+
 sanity_check_paths = {
-    'files': ['include/%(name)s/%(name)s.h'],
-    'dirs': ['lib64/cmake', 'lib64/pkgconfig'],
+    'files': ['include/spdlog/spdlog.h', 'lib/libspdlog.so'],
+    'dirs': ['lib/cmake', 'lib/pkgconfig'],
 }
 
 moduleclass = 'lib'
Diff against spdlog-1.12.0-GCCcore-13.3.0.eb

easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0-pic.eb
index eead269814..7224490ceb 100644
--- a/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.12.0-GCCcore-13.2.0-pic.eb
@@ -2,25 +2,33 @@ easyblock = 'CMakeMake'
 
 name = 'spdlog'
 version = '1.12.0'
+versionsuffix = '-pic'
 
 homepage = 'https://github.com/gabime/spdlog'
-description = "Very fast, header-only/compiled, C++ logging library."
+description = 'Very fast, header-only/compiled, C++ logging library'
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchainopts = {'pic': True}
+build_shared_libs = True
 
-source_urls = ['https://github.com/gabime/%(name)s/archive/refs/tags/']
+source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/']
 sources = ['v%(version)s.tar.gz']
 checksums = ['4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9']
 
 builddependencies = [
-    ('binutils', '2.42'),
-    ('CMake', '3.29.3'),
+    ('CMake', '3.27.6'),
+    ('binutils', '2.40'),
+    ('make', '4.4.1'),
 ]
 
+configopts = " ".join([
+    "-DSPDLOG_BUILD_SHARED=ON",
+    "-DSPDLOG_BUILD_PIC=ON",
+])
 
 sanity_check_paths = {
-    'files': ['include/%(name)s/%(name)s.h'],
-    'dirs': ['lib64/cmake', 'lib64/pkgconfig'],
+    'files': ['include/spdlog/spdlog.h', 'lib/libspdlog.so'],
+    'dirs': ['lib/cmake', 'lib/pkgconfig'],
 }
 
 moduleclass = 'lib'

@gkaf89
Copy link
Copy Markdown
Contributor

gkaf89 commented Sep 8, 2025

Test report by @gkaf89
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
aion-0257 - Linux RHEL 8.10 (Ootpa), x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.11.13
See https://gist.github.com/gkaf89/5d10b7cf6caf831d962e0fd9eb7a04f5 for a full test report.

@MdHassanPappu MdHassanPappu marked this pull request as ready for review September 8, 2025 14:45
@gkaf89
Copy link
Copy Markdown
Contributor

gkaf89 commented Sep 10, 2025

Test report by @gkaf89
SUCCESS
Build succeeded for 14 out of 14 (7 easyconfigs in total)
aion-0331 - Linux RHEL 8.10 (Ootpa), x86_64, AMD EPYC 7H12 64-Core Processor, Python 3.11.13
See https://gist.github.com/gkaf89/33efbca5e7cfb3cd180049cbd43ddede for a full test report.

@MdHassanPappu MdHassanPappu changed the title {lib} [GCCcore-13.2.0 ] spdlog v1.12.0 - pic enabled {lib}[GCCcore-13.2.0 ] spdlog v1.12.0 - pic enabled Sep 18, 2025
@ocaisa ocaisa self-assigned this Oct 13, 2025
Copy link
Copy Markdown
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.

Remove trailing withespaces for CI

@Crivella
Copy link
Copy Markdown
Contributor

@boegelbot please test @ jsc-zen3

@Crivella
Copy link
Copy Markdown
Contributor

Test report by @Crivella
SUCCESS
Build succeeded for 1 out of 1 (1 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/28c2b18a46c21aa9a2ad14833dfe1b7d for a full test report.

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

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3414766195 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 Crivella added this to the next release (5.2.0?) milestone Oct 17, 2025
@boegelbot
Copy link
Copy Markdown
Collaborator

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

@Crivella
Copy link
Copy Markdown
Contributor

Close/re-open to retrigger sdist CI

@Crivella Crivella closed this Oct 17, 2025
@Crivella Crivella reopened this Oct 17, 2025
Copy link
Copy Markdown
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
Copy Markdown
Contributor

Going in, thanks @MdHassanPappu!

@Crivella Crivella merged commit 597bf60 into easybuilders:develop Oct 17, 2025
8 checks passed
@MdHassanPappu
Copy link
Copy Markdown
Author

Thank you so much @Crivella

@boegel boegel changed the title {lib}[GCCcore-13.2.0 ] spdlog v1.12.0 - pic enabled {lib}[GCCcore-13.2.0 ] spdlog v1.12.0 Dec 23, 2025
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.

6 participants