-
Notifications
You must be signed in to change notification settings - Fork 381
Closed
Description
Bug report
Describe the bug
Compile error with libfmt 10. Seems like there was a change in libfmt's API.
Expected Behavior
Software compiles.
Actual Behavior
Compile failure. Excerpt from the build output:
[5/99] c++ -Impd.p -I. -I.. -Isrc -I../src -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++2a -O0 -g -ffast-math -ftree-vectorize -Wcast-qual -Wdouble-promotion -Wmissing-declarations -Wshadow -Wunused -Wvla -Wwrite-strings -Wno-stringop-overflow -fno-threadsafe-statics -fmerge-all-constants -Wcomma-subscript -Wextra-semi -Wmismatched-tags -Woverloaded-virtual -Wsign-promo -Wvolatile -Wvirtual-inheritance -Wno-non-virtual-dtor -Wsuggest-override -fvisibility=hidden -D_GNU_SOURCE -DPCRE2_CODE_UNIT_WIDTH=0 -MD -MQ mpd.p/src_command_PlayerCommands.cxx.o -MF mpd.p/src_command_PlayerCommands.cxx.o.d -o mpd.p/src_command_PlayerCommands.cxx.o -c ../src/command/PlayerCommands.cxx
FAILED: mpd.p/src_command_PlayerCommands.cxx.o
c++ -Impd.p -I. -I.. -Isrc -I../src -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++2a -O0 -g -ffast-math -ftree-vectorize -Wcast-qual -Wdouble-promotion -Wmissing-declarations -Wshadow -Wunused -Wvla -Wwrite-strings -Wno-stringop-overflow -fno-threadsafe-statics -fmerge-all-constants -Wcomma-subscript -Wextra-semi -Wmismatched-tags -Woverloaded-virtual -Wsign-promo -Wvolatile -Wvirtual-inheritance -Wno-non-virtual-dtor -Wsuggest-override -fvisibility=hidden -D_GNU_SOURCE -DPCRE2_CODE_UNIT_WIDTH=0 -MD -MQ mpd.p/src_command_PlayerCommands.cxx.o -MF mpd.p/src_command_PlayerCommands.cxx.o.d -o mpd.p/src_command_PlayerCommands.cxx.o -c ../src/command/PlayerCommands.cxx
In file included from ../src/client/Response.hxx:9,
from ../src/command/PlayerCommands.cxx:12:
/usr/include/fmt/core.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_value(T&&) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = StringBuffer<24>&]':
/usr/include/fmt/core.h:1711:29: required from 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; type <anonymous> = fmt::v10::detail::type::custom_type; T = StringBuffer<24>&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]'
/usr/include/fmt/core.h:1827:77: required from 'constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {StringBuffer<24>&}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {StringBuffer<24>}]'
/usr/include/fmt/core.h:1844:31: required from 'constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T&& ...) [with Context = basic_format_context<appender, char>; T = {StringBuffer<24>&}]'
../src/client/Response.hxx:71:29: required from 'bool Response::Fmt(const S&, Args&& ...) [with S = handle_status(Client&, Request, Response&)::<lambda()>::FMT_COMPILE_STRING; Args = {StringBuffer<24>}]'
../src/command/PlayerCommands.cxx:172:9: required from here
/usr/include/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
1691 | formattable,
| ^~~~~~~~~~~
/usr/include/fmt/core.h:1691:7: note: 'formattable' evaluates to false
Version
Tested both current git master and 0.23.12.
Configuration
Not relevant, but this is the output from meson setup showing the build configuration:
[nex@saber mpd]$ meson setup build-fmt-test --buildtype=debug
The Meson build system
Version: 1.0.1
Source dir: /home/nex/projects/mpd
Build dir: /home/nex/projects/mpd/build-fmt-test
Build type: native build
Project name: mpd
Project version: 0.24
C compiler for the host machine: cc (gcc 12.2.1 "cc (Gentoo 12.2.1_p20230428-r1 p2) 12.2.1 20230428")
C linker for the host machine: cc ld.bfd 2.39
C++ compiler for the host machine: c++ (gcc 12.2.1 "c++ (Gentoo 12.2.1_p20230428-r1 p2) 12.2.1 20230428")
C++ linker for the host machine: c++ ld.bfd 2.39
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found git repository at /home/nex/projects/mpd
Configuring Version.h using configuration
Compiler for C++ supports arguments -fvisibility=hidden: YES
Compiler for C supports arguments -fvisibility=hidden: YES
Compiler for C++ supports arguments -ffast-math: YES
Compiler for C++ supports arguments -ftree-vectorize: YES
Compiler for C++ supports arguments -Wcast-qual: YES
Compiler for C++ supports arguments -Wdouble-promotion: YES
Compiler for C++ supports arguments -Wmissing-declarations: YES
Compiler for C++ supports arguments -Wshadow: YES
Compiler for C++ supports arguments -Wunused: YES
Compiler for C++ supports arguments -Wvla: YES
Compiler for C++ supports arguments -Wwrite-strings: YES
Compiler for C++ supports arguments -Wunreachable-code-aggressive: NO
Compiler for C++ supports arguments -Wused-but-marked-unused: NO
Compiler for C++ supports arguments -Wno-stringop-overflow: YES
Compiler for C++ supports arguments -fno-threadsafe-statics: YES
Compiler for C++ supports arguments -fmerge-all-constants: YES
Compiler for C++ supports arguments -Wcomma-subscript: YES
Compiler for C++ supports arguments -Wextra-semi: YES
Compiler for C++ supports arguments -Wmismatched-tags: YES
Compiler for C++ supports arguments -Woverloaded-virtual: YES
Compiler for C++ supports arguments -Wsign-promo: YES
Compiler for C++ supports arguments -Wvolatile: YES
Compiler for C++ supports arguments -Wvirtual-inheritance: YES
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
Compiler for C++ supports arguments -Wcomma: NO
Compiler for C++ supports arguments -Wheader-hygiene: NO
Compiler for C++ supports arguments -Winconsistent-missing-destructor-override: NO
Compiler for C++ supports arguments -Wsuggest-override: YES
Compiler for C supports arguments -ffast-math: YES
Compiler for C supports arguments -ftree-vectorize: YES
Compiler for C supports arguments -Wcast-qual: YES
Compiler for C supports arguments -Wdouble-promotion: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Wvla: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -Wunreachable-code-aggressive: NO
Compiler for C supports arguments -Wused-but-marked-unused: NO
Compiler for C supports arguments -Wno-stringop-overflow: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C++ supports link arguments -Wl,-z,relro: YES
Compiler for C++ supports link arguments -Wl,-z,now: YES
Checking for function "getpwnam_r" : YES
Checking for function "initgroups" : YES
Checking for function "fnmatch" : YES
Checking for function "strndup" : YES
Checking for function "strcasestr" : YES
Checking for function "syslog" : YES
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Run-time dependency fmt found: YES 10.0.0
Run-time dependency icu-i18n found: YES 72.1
Run-time dependency liburing found: YES 2.3
Configuring Features.h using configuration
Run-time dependency threads found: YES
Checking for function "pthread_setname_np" with dependency threads: YES
Header "sys/socket.h" has symbol "AF_INET6" : YES
Header "sys/socket.h" has symbol "struct ucred" : YES
Header "sys/socket.h" has symbol "SO_PEERCRED" : YES
Checking for function "getpeereid" : NO
Configuring Features.h using configuration
Run-time dependency samplerate found: YES 0.2.2
Run-time dependency soxr found: YES 0.1.3
Run-time dependency dbus-1 found: YES 1.15.4
Dependency smbclient skipped: feature smbclient disabled
Run-time dependency zlib found: YES 1.2.13
Run-time dependency alsa found: YES 1.2.8
Found CMake: /usr/bin/cmake (3.25.3)
Run-time dependency libchromaprint found: NO (tried pkgconfig and cmake)
Run-time dependency libcurl found: YES 8.0.1
Run-time dependency expat found: YES 2.5.0
Run-time dependency libavformat found: YES 58.76.100
Run-time dependency libavcodec found: YES 58.134.100
Run-time dependency libavutil found: YES 56.70.100
Run-time dependency libavfilter found: YES 7.110.100
Run-time dependency libnfs found: YES 5.0.2
Run-time dependency libpcre2-8 found: YES 10.42
Run-time dependency libpipewire-0.3 found: YES 0.3.67
Run-time dependency libpulse found: YES 16.1
Library sndio found: NO
Run-time dependency sqlite3 found: YES 3.41.2
Run-time dependency libsystemd found: YES 253
Run-time dependency libupnp found: NO (tried pkgconfig and cmake)
Run-time dependency libnpupnp found: NO (tried pkgconfig and cmake)
Run-time dependency yajl found: YES 2.1.0
Run-time dependency avahi-client found: YES 0.8
Run-time dependency id3tag found: YES 0.16.2
Run-time dependency libcdio_paranoia found: NO (tried pkgconfig and cmake)
Run-time dependency libmms found: NO (tried pkgconfig and cmake)
Configuring Features.h using configuration
Run-time dependency libiso9660 found: NO (tried pkgconfig and cmake)
Library bz2 found: YES
Run-time dependency zziplib found: YES 0.13.72
Configuring Features.h using configuration
Run-time dependency ao found: NO (tried pkgconfig and cmake)
Run-time dependency jack found: YES 1.9.22
Header "jack/jack.h" has symbol "jack_set_info_function" : YES
Run-time dependency openal found: YES 1.23.0
Run-time dependency shout found: YES 2.4.6
Configuring Features.h using configuration
Run-time dependency flac found: YES 1.4.2
Run-time dependency opus found: YES 1.3.1
Run-time dependency vorbis found: YES 1.3.7
Run-time dependency vorbisenc found: YES 1.3.7
Run-time dependency ogg found: YES 1.3.5
Run-time dependency adplug found: NO (tried pkgconfig and cmake)
Run-time dependency fluidsynth found: YES 2.3.1
Run-time dependency audiofile found: YES 0.3.6
Library faad found: NO
Run-time dependency libgme found: NO (tried pkgconfig and cmake)
Library mad found: YES
Run-time dependency libmikmod found: NO (tried pkgconfig and cmake)
Run-time dependency libmodplug found: NO (tried pkgconfig and cmake)
Run-time dependency libopenmpt found: NO (tried pkgconfig and cmake)
Library mpcdec found: NO
Run-time dependency libmpg123 found: YES 1.31.3
Run-time dependency sndfile found: YES 1.2.0
Run-time dependency wavpack found: NO (tried pkgconfig and cmake)
Run-time dependency wildmidi found: NO (tried pkgconfig and cmake)
Library WildMidi found: NO
Run-time dependency libsidplayfp found: NO (tried pkgconfig and cmake)
Configuring Features.h using configuration
Library mp3lame found: YES
Run-time dependency twolame found: NO (tried pkgconfig and cmake)
Run-time dependency shine found: NO (tried pkgconfig and cmake)
Configuring Features.h using configuration
Configuring Features.h using configuration
Run-time dependency libmpdclient found: YES 2.20
Configuring config.h using configuration
Run-time dependency systemd found: YES 253
systemd/system/meson.build:5: WARNING: Project targets '>= 0.56.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
Configuring mpd.service using configuration
Dependency systemd found: YES 253 (cached)
systemd/user/meson.build:5: WARNING: Project targets '>= 0.56.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
Configuring mpd.service using configuration
Program sphinx-build found: YES (/usr/bin/sphinx-build)
Build targets in project: 81
WARNING: Deprecated features used:
* 0.56.0: {'dependency.get_pkgconfig_variable'}
mpd 0.24
User defined options
buildtype: debug
Found ninja-1.11.1 at /usr/bin/ninja
Log
No runtime log available due to being a build failure. I can provide the full build log if needed (it's very long), but I don't see any information relevant to the build failure which I didn't paste above.
Additional Context
Originally discovered on Gentoo Bugzilla: https://bugs.gentoo.org/906074 (also contains a complete build log)
Metadata
Metadata
Assignees
Labels
No labels