Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
  • MKVToolNix MKVToolNix
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 20
    • Issues 20
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Moritz Bunkus
  • MKVToolNixMKVToolNix
  • Issues
  • #3366
Closed
Open
Created Jul 07, 2022 by Scott Furry@digifuzzy

Compile Fail with updated libfmt v9.0.0

System: Gentoo x86_64 5.15.41 mkvtoolnix Version: 67.0.0 g++ version: 11.3.0

Compile succeeded with previous libfmt v8.1.1 and this version of mkvtoolnix.

Update of libfmt to v9.0.0 resulted in a compile failure. Error message indicates problem during compile of src/common/bluray/track_chapter_names.cpp. Error message produced:

g++ -Wall -Wno-comment -Wfatal-errors -D_FILE_OFFSET_BITS=64 -DQT_NO_KEYWORDS -DMTX_LOCALE_DIR=\"/usr/share/locale\" -DMTX_PKG_DATA_DIR=\"/usr/share/mkvtoolnix\" -DMTX_DOC_DIR=\"/usr/share/doc/mkvtoolnix-67.0.0\" -fstack-protector-strong -I/usr/include/dvdcss -I/usr/include/utf8cpp -fPIC -std=c++17 -Wnon-virtual-dtor -Wextra -Wno-missing-field-initializers -Wunused -Wpedantic -Wno-maybe-uninitialized -Wlogical-op -Wno-extra-semi -Wmisleading-indentation -Wduplicated-cond -Wshadow-compatible-local -Wduplicated-branches -Wno-deprecated-copy -I/usr/include/qt5/QtCore -I/usr/include/qt5 -I/usr/include/qt5/QtGui -DQT_WIDGETS_LIB -I/usr/include/qt5/QtWidgets -DQT_MULTIMEDIA_LIB -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtNetwork -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -I/usr/include/qt5/QtConcurrent -DQT_DBUS_LIB -I/usr/include/qt5/QtDBus -DQT_CORE_LIB -I/usr/include -march=bdver1 -O2 -pipe -I. -Ilib -Ilib/avilib-0.6.10 -Isrc -c -MMD -MF /var/tmp/portage/media-video/mkvtoolnix-67.0.0/work/mkvtoolnix-67.0.0/rake.d/dependency.d/tmp/src_common_bluray_track_chapter_names_o.d -o src/common/bluray/track_chapter_names.o -x c++ src/common/bluray/track_chapter_names.cpp
In file included from /usr/include/fmt/format.h:48,
                 from src/common/common.h:43,
                 from src/common/common_pch.h:1,
                 from src/common/bluray/track_chapter_names.cpp:14:
/usr/include/fmt/core.h: In instantiation of ‘constexpr fmt::v9::detail::value<Context> fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; T = const std::filesystem::__cxx11::path&]’:
/usr/include/fmt/core.h:1753:29:   required from ‘constexpr fmt::v9::detail::value<Context> fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; fmt::v9::detail::type <anonymous> = fmt::v9::detail::type::custom_type; T = const std::filesystem::__cxx11::path&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’
/usr/include/fmt/core.h:1877:77:   required from ‘constexpr fmt::v9::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const std::filesystem::__cxx11::path&}; Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; Args = {std::filesystem::__cxx11::path}]’
/usr/include/fmt/core.h:1894:38:   required from ‘constexpr fmt::v9::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<Args>::type>::type ...> fmt::v9::make_format_args(Args&& ...) [with Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; Args = {const std::filesystem::__cxx11::path&}]’
/usr/include/fmt/core.h:3163:44:   required from ‘std::string fmt::v9::format(fmt::v9::format_string<T ...>, T&& ...) [with T = {const std::filesystem::__cxx11::path&}; std::string = std::__cxx11::basic_string<char>; fmt::v9::format_string<T ...> = fmt::v9::basic_format_string<char, const std::filesystem::__cxx11::path&>]’
src/common/bluray/track_chapter_names.cpp:35:7:   required from here
/usr/include/fmt/core.h:1733: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
 1733 |       formattable,
      |       ^~~~~~~~~~~
compilation terminated due to -Wfatal-errors.

Downgrading libfmt v8.1.1 was necessary.

Assignee
Assign to
Time tracking