Overview
Hi Eric, sorry for this being frustrating to you. I do know our own guidelines. to quote, they say the following (from the page you quoted):
Check for Tumbleweed should be done by %if 0%{?suse_version} > 1600
. you are doing not what the page is recommending you to do, but something else, concretely %if 0%{?suse_version} <= 1600
. this is not the same, because it "passes" (is true) if ?suse_version is unset, while the other condition "fails" when ?suse_version is unset (which is the behavior we want.
the build error you're having can be fixed by this diff, which is easy to review, does not introduce the above problem and also uses the "correct" compiler:
--- spdlog.spec (revision ef9766057ce8ee37240907cca84db360) +++ spdlog.spec (working copy) @@ -30,9 +30,9 @@ #Patch0: https://patch-diff.githubusercontent.com/raw/gabime/spdlog/pull/2827.patch BuildRequires: cmake >= 3.10 %if 0%{?suse_version} > 1500 -BuildRequires: gcc-c++ >= 8 +BuildRequires: gcc-c++ >= 13 %else -BuildRequires: gcc8-c++ +BuildRequires: gcc13-c++ %endif BuildRequires: ninja BuildRequires: pkgconfig @@ -76,7 +76,7 @@ %build export CXX=g++ -test -x "$(type -p g++-8)" && export CXX=g++-8 +test -x "$(type -p g++-13)" && export CXX=g++-13 # spdlog embodies fmt ABI; add some symvers so both ld.so and rpm notice the change. v=v$(rpm -q --qf="%%{VERSION}" --whatprovides "pkgconfig(fmt)" | sed -e 's/\..*//')
if it's too frustrating to you, I can submit that change myself.
Request History
ecsos created request
- Fix build error through the use of fmt version >= 10.2.1 and < 11.
comrad declined request
Thanks for the patch, but fmt 11 should be supported. There was a typo in the cmake build options which should have avoided building the examples.
ecsos reopened request
Why declined.
spdlog does not build with fmt-11
So a new package for fmt-10 is needed.
baselib from fmt-9 say libfmt9
So i think baselib from fmt-10 should point to libfmt10
And baselib from fmt, with fmt-11, should point to libfmt11.
And the bundeld fmtversion is 10.2.1
See changelog from spdlog!
Updated bundled fmt to version 10.2.1
I don't like this unbundeld thinks. It makes only problems. Again and again.
comrad declined request
We will support libfmt if libfmt is at version 11. And this lib will not be published with bundled libfmt.
ecsos revoked request
If you think...
I don't understand why suse people always have to override upstream.
Upstrem just uses the 100201.
Then you should stick to that. Because upstream only builds against that version and therefore only that version is guaranteed.
But well. Once again a package that I have to build myself. Too bad.
spdlog has two possibilities. Embedded fmt (their own, not libfmt, but compatible) and linked libfmt. And with linked libfmt you can install whatever you want. This is just headers.