Skip to content

spdlog, hipblaslt: Fix spdlog 1.17.0 version pairing with fmt - #5802

Open
bernhardkaindl wants to merge 1 commit into
spack:developfrom
bernhardkaindl:fix-spdlog-fmt-hipblaslt-version-pairing
Open

spdlog, hipblaslt: Fix spdlog 1.17.0 version pairing with fmt#5802
bernhardkaindl wants to merge 1 commit into
spack:developfrom
bernhardkaindl:fix-spdlog-fmt-hipblaslt-version-pairing

Conversation

@bernhardkaindl

@bernhardkaindl bernhardkaindl commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Test the fix of a version conflict to pass the GitLab CI pipeline:

A helpful comment in the spdlog package.py file explains the version pairing of spdlog and fmt. The comment explains that while spdlog can work with different versions of fmt, it is best to assume that the internal fmt version is the minimum version for compatibility.

This change adds the missing version pairing for spdlog 1.17.0 with fmt. The spdlog package.py now depends on fmt 12.1 or later for spdlog 1.17.0 which is the recommended version pairing for spdlog 1.17.0 according to the comment in the spdlog package.py.

Related to it, the last pull request for hipblaslt assumed that it has to ensure proper version pairing while as explained above it should leave this to the spdlog recipe. The pairing added in the pull request conflicts with all existin spdlog/fmt pairings, so it was to possible to concretize hipblaslt@7.1: anymore.

Fix this by using a conflict for the fmt versions it does not support and leave the spdlog/fmt version pairing to the spdlog recipe.

Fixes: 1769b89 #5467: "spdlog: add v1.17.0 && fmt: add v12.2.0"
Fixes: 3e1fd73 #5309: "hipblaslt: Support air-gapped build"

rocroller in ROCm 7.1+ fails to build with fmt 11 (consteval FMT_STRING errors)."

In my current environment, hipblaslt also fails when using types like uint32_t etc without including stdint.h, so it adds -include stdint.h to work around this problem in the source files.

The 1st hurdle of this PR is to pass GitLab CI: #5743 failed in the build of rocblas not finding hipblas-common.

A helpful comment in the spdlog package.py file explains the version
pairing of spdlog and fmt. The comment explains that while spdlog can
work with different versions of fmt, it is best to assume that the
internal fmt version is the minimum version for compatibility.

This change adds the missing version pairing for spdlog 1.17.0 with fmt.
The spdlog package.py now depends on fmt 12.1 or later for spdlog 1.17.0
which is the recommended version pairing for spdlog 1.17.0 according to
the comment in the spdlog package.py.

Related to it, the last pull request for hipblaslt assumed that it has
to ensure proper version pairing while as explained above it should
leave this to the spdlog recipe. The pairing added  in the pull request
conflicts with all existin spdlog/fmt pairings, so it was to possible
to concretize hipblaslt@7.1: anymore.

Fix this by using a conflict for the fmt versions it does not support
and leave the spdlog/fmt version pairing to the spdlog recipe.

Fixes: 1769b89 spack#5467: "spdlog: add v1.17.0 && fmt: add v12.2.0"
Fixes: 3e1fd73 spack#5309: "hipblaslt: Support air-gapped build"
@spackbot-triage spackbot-triage Bot added dependencies Modifications with a `depends_on()` directive update-package Modifications to packages in the repository conflicts Modifications with a `conflicts()` directive labels Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflicts Modifications with a `conflicts()` directive dependencies Modifications with a `depends_on()` directive update-package Modifications to packages in the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant