Bug#1010519: g++-12: compilation fails on riscv64 because of always_inline when using fmtlib
Package: g++-12
Version: 12-20220428-1
Severity: important
Dear Maintainer,
I have uploaded my package opm-common to experimental. Buildd shows that
compilation fails on riscv64 with the message:
In file included from /usr/include/fmt/format.h:48,
from
/<<PKGBUILDDIR>>/src/opm/input/eclipse/Deck/UDAValue.cpp:19:
/usr/include/fmt/core.h: In member function ‘void
Opm::UDAValue::assert_numeric() const’:
/usr/include/fmt/core.h:3117:31: error: inlining failed in call to
‘always_inline’ ‘std::string fmt::v8::format(format_string<T ...>, T&& ...)
[with T = {const std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >&}]’: target specific option mismatch
3117 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&...
args)
| ^~~~~~
/<<PKGBUILDDIR>>/src/opm/input/eclipse/Deck/UDAValue.cpp:77:169: note: called
from here
77 | std::string msg = fmt::format("Internal error: The support for
use of UDQ/UDA is not complete in opm/flow. The string: '{}' must be numeric",
this->string_value);
|
^
/usr/include/fmt/core.h:3057:28: error: inlining failed in call to
‘always_inline’ ‘fmt::v8::basic_format_string<Char,
Args>::basic_format_string(const S&) [with S = char [109]; typename
std::enable_if<std::is_convertible<const S&, fmt::v8::basic_string_view<Char>
>::value, int>::type <anonymous> = 0; Char = char; Args = {const
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>&}]’: target specific option mismatch
3057 | FMT_CONSTEVAL FMT_INLINE basic_format_string(const S& s) : str_(s) {
| ^~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/opm/input/eclipse/Deck/UDAValue.cpp:77:169: note: called
from here
77 | std::string msg = fmt::format("Internal error: The support for
use of UDQ/UDA is not complete in opm/flow. The string: '{}' must be numeric",
this->string_value);
|
^
make[3]: *** [CMakeFiles/genkw.dir/build.make:107:
CMakeFiles/genkw.dir/src/opm/input/eclipse/Deck/UDAValue.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
[ 8%] Generating tests/TEST_WLIST.DATA
See [1] for the full log.
It seems like this problem might be solved upstream already, see [2]. Maybe we
shold backport this?
[1] https://buildd.debian.org/status/fetch.php?pkg=opm-
common&arch=riscv64&ver=2022.04%7Erc1-2&stamp=1651224804&raw=0
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105234#c14
-- System Information:
Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 5.10.0-13-amd64 (SMP w/32 CPU threads)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C),
LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: unable to detect
Versions of packages g++-12 depends on:
ii gcc-12 12-20220428-1
ii gcc-12-base 12-20220428-1
ii libc6 2.33-7
ii libgmp10 2:6.2.1+dfsg-3
ii libisl23 0.24-2
ii libmpc3 1.2.1-2
ii libmpfr6 4.1.0-3
ii libstdc++-12-dev 12-20220428-1
ii libzstd1 1.5.2+dfsg-1
ii zlib1g 1:1.2.11.dfsg-4
g++-12 recommends no packages.
Versions of packages g++-12 suggests:
pn g++-12-multilib <none>
pn gcc-12-doc <none>
Reply to: