Overview

Request 1187306 revoked

- Fix build error through the use of fmt version >= 10.2.1 and < 11.

Loading...

Bernd Ritter's avatar

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.


Dirk Mueller's avatar

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
Eric Schirra's avatar

ecsos created request

- Fix build error through the use of fmt version >= 10.2.1 and < 11.


Bernd Ritter's avatar

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.


Eric Schirra's avatar

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.


Bernd Ritter's avatar

comrad declined request

We will support libfmt if libfmt is at version 11. And this lib will not be published with bundled libfmt.


Eric Schirra's avatar

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.

openSUSE Build Service is sponsored by