spdlog, hipblaslt: Fix spdlog 1.17.0 version pairing with fmt - #5743
Closed
bernhardkaindl wants to merge 1 commit into
Closed
spdlog, hipblaslt: Fix spdlog 1.17.0 version pairing with fmt#5743bernhardkaindl wants to merge 1 commit into
bernhardkaindl wants to merge 1 commit into
Conversation
spackbot-triage
Bot
requested review from
afzpatel,
renjithravindrankannath and
srekolam
July 24, 2026 23:40
bernhardkaindl
requested review from
Chrismarsh,
afzpatel and
srekolam
and removed request for
afzpatel,
renjithravindrankannath and
srekolam
July 24, 2026 23:48
bernhardkaindl
force-pushed
the
fix-spdlog@1.17.0-fmt-version-pairing
branch
from
July 25, 2026 11:00
6edb4f6 to
656ab8c
Compare
Contributor
Author
|
GitLab CI was failing with my initial push of this PR (updated now, I hope this fixes CI): In https://gitlab.spack.io/spack/spack-packages/-/jobs/23537388, the build of CMake Error at /home/software/spack/[padded-to-256-chars]/linux-x86_64_v3/hipblaslt-7.1.1-exsqldmaibynkmiso77e27ujoyzvoi5x/lib/cmake/hipblaslt/hipblaslt-targets.cmake:77 (set_target_properties):
The link interface of target "roc::hipblaslt" contains:
roc::hipblas-common
but the target was not found.From the GitLab build log, it appears to be added to the build with this spec: - ^hipblaslt@7.1.1~asan~ipo amdgpu_target:=gfx90a build_system=cmake build_type=Release generator=make patches:=0364327,b1efb38 platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx,fortran=gcc@11.4.0
...
- ^fmt@12.1.0~ipo+pic~shared build_system=cmake build_type=Release cxxstd=11 generator=make platform=linux os=ubuntu22.04 target=x86_64_v3 %c,cxx=gcc@11.4.0
...
- ^hipblas-common@7.1.1~ipo build_system=cmake build_type=Release generator=make platform=linux os=ubuntu22.04 target=x86_64_v3
...
- ^spdlog@1.17.0~ipo+shared build_system=cmake build_type=Release cxxstd=14 generator=make patches:=fdc325d platform=linux os=ubuntu22.04 target=x86_64_v3 %cxx=gcc@11.4.0I found these lines too: So far, I've not found a hint why |
bernhardkaindl
force-pushed
the
fix-spdlog@1.17.0-fmt-version-pairing
branch
3 times, most recently
from
July 28, 2026 02:45
217e225 to
d40a996
Compare
bernhardkaindl
force-pushed
the
fix-spdlog@1.17.0-fmt-version-pairing
branch
from
July 28, 2026 03:02
d40a996 to
d170996
Compare
bernhardkaindl
marked this pull request as draft
July 28, 2026 03:04
bernhardkaindl
force-pushed
the
fix-spdlog@1.17.0-fmt-version-pairing
branch
from
July 28, 2026 03:14
d170996 to
01b6b61
Compare
srekolam
reviewed
Jul 28, 2026
| "7.2.3", | ||
| ]: | ||
| depends_on(f"hipblas-common@{ver}", when=f"@{ver}") | ||
| depends_on(f"hipblas@{ver}", when=f"@{ver}", type=("build", "link", "run")) |
Contributor
There was a problem hiding this comment.
as far as i know, depends_on(hipblas) is only applicable when HIPBLASLT_ENABLE_HIPBLAS_DIRECT is set to ON. or on older releases, when LEGACY_HIPBLAS_DIRECT is set to ON. Otherwise, it is always depends_on(hipblas-common)
srekolam
suggested changes
Jul 28, 2026
bernhardkaindl
force-pushed
the
fix-spdlog@1.17.0-fmt-version-pairing
branch
from
July 29, 2026 17:21
01b6b61 to
34734e6
Compare
bernhardkaindl
marked this pull request as ready for review
July 30, 2026 06:52
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"
bernhardkaindl
force-pushed
the
fix-spdlog@1.17.0-fmt-version-pairing
branch
from
July 30, 2026 06:57
580e461 to
31923f9
Compare
Contributor
Author
|
Closing, I'm changing the approach. |
Contributor
Author
|
New PR: #5802 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A helpful comment by @Chrismarsh 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 based on the spdlog release notes at https://github.com/gabime/spdlog/releases#release-v1.17.0.
Related to it, the last pull request for
hipblaslt(#5309) 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 #5309 conflicts with all existing 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.
hipblaslt@7.1:should be able to be solvable again, which is also of interest request for the ROCm pull request to add the therock 7.13 release with ROCm: Add the Therock 7.13.0 release to all packages #4964Review: @afzpatel, @srekolam, @renjithravindrankannath
Cc: @m-fila, @yizeyi18, @williampiat3