Bug#1143686: paps: FTBFS: format_from_dict.cc:36:33: error: call of overloaded 'format(const char [8], const std::string&)' is ambiguous

Santiago Vila <[email protected]> Wed, 05 Aug 2026 11:24:51 +0000
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <[email protected]>
Package: src:paps
Version: 0.8.0-0.1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202608/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:paps, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: running: autopoint --force
Copying file ABOUT-NLS
Creating directory config
Copying file config/config.rpath
Copying file m4/codeset.m4
Copying file m4/extern-inline.m4
Copying file m4/fcntl-o.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intlmacosx.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/Makefile.in.in
Copying file po/Makevars.template
Copying file po/Rules-quot
Copying file po/boldquot.sed
Copying file po/[email protected]
Copying file po/[email protected]
Copying file po/insert-header.sin
Copying file po/quot.sed
Copying file po/remove-potcdate.sin
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: configure.ac: not running autopoint a second time
autoreconf: running: aclocal --force -I m4 -I m4
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:10: installing 'config/compile'
configure.ac:28: installing 'config/config.guess'
configure.ac:28: installing 'config/config.sub'
configure.ac:7: installing 'config/install-sh'
configure.ac:7: installing 'config/missing'
Makefile.am:29: warning: '%'-style pattern rules are a GNU make extension
src/Makefile.am: installing 'config/depcomp'
autoreconf: configure.ac: not running make: --make not given
autoreconf: Leaving directory '.'
   dh_auto_configure
	./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking whether UID '995' is supported by ustar format... yes
checking whether GID '995' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether x86_64-linux-gnu-g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of x86_64-linux-gnu-g++... none
checking for gcc... x86_64-linux-gnu-gcc
checking whether the compiler supports GNU C... yes
checking whether x86_64-linux-gnu-gcc accepts -g... yes
checking for x86_64-linux-gnu-gcc option to enable C23 features... none needed
checking whether x86_64-linux-gnu-gcc understands -c and -o together... yes
checking dependency style of x86_64-linux-gnu-gcc... none
./configure: line 5368: AX_COMPILER_FLAGS: command not found
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for PANGO... yes
checking for FMT... yes
checking for a sed that does not truncate output... /usr/bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for ld used by x86_64-linux-gnu-gcc... /usr/bin/x86_64-linux-gnu-ld
checking if the linker (/usr/bin/x86_64-linux-gnu-ld) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... x86_64-linux-gnu-gcc -E
checking for egrep -e... /usr/bin/grep -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
   dh_auto_build
	make -j2
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make  all-recursive
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Making all in src
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..  -DGETTEXT_PACKAGE='"paps"' -DDATADIR='"/usr/"' -Wdate-time -D_FORTIFY_SOURCE=2  -I/usr/include/pango-1.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fpermissive -c -o paps-paps.o `test -f 'paps.cc' || echo './'`paps.cc
x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..  -DGETTEXT_PACKAGE='"paps"' -DDATADIR='"/usr/"' -Wdate-time -D_FORTIFY_SOURCE=2  -I/usr/include/pango-1.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fpermissive -c -o paps-format_from_dict.o `test -f 'format_from_dict.cc' || echo './'`format_from_dict.cc
format_from_dict.cc: In function ‘std::string scalar_to_string(scalar_t, const std::string&)’:
format_from_dict.cc:36:33: error: call of overloaded ‘format(const char [8], const std::string&)’ is ambiguous
   36 |     return format(runtime(format("{{:{}}}", spec)), val);
      |                           ~~~~~~^~~~~~~~~~~~~~~~~
  • there are 2 candidates
In file included from /usr/include/c++/16/bits/chrono_io.h:40,
                 from /usr/include/c++/16/chrono:3695,
                 from /usr/include/fmt/chrono.h:12,
                 from format_from_dict.h:28,
                 from format_from_dict.cc:23:
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
In file included from /usr/include/fmt/format.h:49,
                 from /usr/include/fmt/chrono.h:21:
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
format_from_dict.cc:43:33: error: call of overloaded ‘format(const char [8], const std::string&)’ is ambiguous
   43 |     return format(runtime(format("{{:{}}}", spec)), val);
      |                           ~~~~~~^~~~~~~~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
format_from_dict.cc:50:33: error: call of overloaded ‘format(const char [8], const std::string&)’ is ambiguous
   50 |     return format(runtime(format("{{:{}}}", spec)), val);
      |                           ~~~~~~^~~~~~~~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
format_from_dict.cc:57:33: error: call of overloaded ‘format(const char [8], const std::string&)’ is ambiguous
   57 |     return format(runtime(format("{{:{}}}", spec)), fmt::localtime(val));
      |                           ~~~~~~^~~~~~~~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
format_from_dict.cc: In function ‘std::string format_from_dict(const std::string&, dict_t)’:
format_from_dict.cc:84:33: error: call of overloaded ‘format(const char [32], size_t&)’ is ambiguous
   84 |       throw runtime_error(format("No end brace for start {{ at {}", start));
      |                           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {long unsigned int&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, long unsigned int&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {long unsigned int&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, long unsigned int&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
format_from_dict.cc:86:33: error: call of overloaded ‘format(const char [45], size_t&)’ is ambiguous
   86 |       throw runtime_error(format("Can't have double }}}} in formatting clause!", start));
      |                           ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {long unsigned int&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, long unsigned int&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {long unsigned int&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, long unsigned int&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
format_from_dict.cc:96:35: error: call of overloaded ‘format(const char [29], std::string&)’ is ambiguous
   96 |         throw runtime_error(format("Can't find {} in dictionary!", spec));
      |                             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {__cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
In file included from /usr/include/glib-2.0/glib/gstring.h:35,
                 from /usr/include/glib-2.0/glib/giochannel.h:36,
                 from /usr/include/glib-2.0/glib.h:56,
                 from /usr/include/glib-2.0/glib/gprintf.h:23,
                 from /usr/include/glib-2.0/glib/gstdio.h:24,
                 from paps.cc:23:
paps.cc: In function ‘GList* split_text_into_paragraphs(PangoContext*, PageLayout*, int, const char*)’:
/usr/include/glib-2.0/glib/gunicode.h:837:34: warning: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
  837 | #define g_utf8_next_char(p) ((p) + g_utf8_skip[*(const guchar *)(p)])
      |                             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                  |
      |                                  const char*
paps.cc:1118:18: note: in expansion of macro ‘g_utf8_next_char’
 1118 |           next = g_utf8_next_char (p);
      |                  ^~~~~~~~~~~~~~~~
paps.cc: In function ‘int draw_page_header_line_to_page(cairo_t*, bool, PageLayout*, PangoContext*, int, int, dict_t&, bool)’:
paps.cc:1714:25: error: call of overloaded ‘format(const char [93], std::string&, const char*, std::string&, const char*, std::string&, int&)’ is ambiguous
 1714 |   string header = format("<span font_desc=\"{}\">{}</span>\n"
      |                   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1715 |                   "<span font_desc=\"{}\">{}</span>\n"
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1716 |                   "<span font_desc=\"{}\">{}</span>",
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1717 |                   page_layout->header_font_desc,
      |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1718 |                   get_date().c_str(),
      |                   ~~~~~~~~~~~~~~~~~~~
 1719 |                     page_layout->header_font_desc,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1720 |                     page_layout->title.c_str(),
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1721 |                     page_layout->header_font_desc,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1722 |                     page
      |                     ~~~~ 
 1723 |                     );
      |                     ~    
  • there are 2 candidates
In file included from /usr/include/c++/16/bits/chrono_io.h:40,
                 from /usr/include/c++/16/chrono:3695,
                 from /usr/include/fmt/chrono.h:12,
                 from format_from_dict.h:28,
                 from paps.cc:42:
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {__cxx11::basic_string<char, char_traits<char>, allocator<char> >&, const char*, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&, const char*, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&, int&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&, const char*, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&, const char*, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&, int&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
In file included from paps.cc:41:
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
paps.cc:1752:33: error: call of overloaded ‘format(const char [3], int&)’ is ambiguous
 1752 |         header_parts[2] = format("{}",page);
      |                           ~~~~~~^~~~~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {int&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, int&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {int&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, int&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
paps.cc:1760:21: error: call of overloaded ‘format(const char [32], std::string&, std::__cxx11::basic_string<char>&)’ is ambiguous
 1760 |     header += format("<span font_desc=\"{}\">{}</span>\n",
      |               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1761 |                      page_layout->header_font_desc,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1762 |                      hp);
      |                      ~~~
  • there are 2 candidates
    • candidate 1: ‘std::string std::format(format_string<_Args ...>, _Args&& ...) [with _Args = {__cxx11::basic_string<char, char_traits<char>, allocator<char> >&, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&}; string = __cxx11::basic_string<char>; format_string<_Args ...> = basic_format_string<char, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&, __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>]’
      /usr/include/c++/16/format:5486:5:
       5486 |     format(format_string<_Args...> __fmt, _Args&&... __args)
            |     ^~~~~~
    • candidate 2: ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
      /usr/include/fmt/core.h:2786:31:
       2786 | FMT_NODISCARD FMT_INLINE auto format(format_string<T...> fmt, T&&... args)
            |                               ^~~~~~
make[3]: *** [Makefile:475: paps-format_from_dict.o] Error 1
make[3]: *** Waiting for unfinished jobs....
paps.cc: In function ‘bool copy_pango_parse_enum(GType, const char*, int*, bool, char**)’:
/usr/include/glib-2.0/glib/gstring.h:77:31: warning: ignoring return value of ‘gchar* g_string_free_and_steal(GString*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   77 |       g_string_free_and_steal (str))            \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
paps.cc:388:11: note: in expansion of macro ‘g_string_free’
  388 |           g_string_free (s, possible_values ? false : true);
      |           ^~~~~~~~~~~~~
paps.cc: In function ‘char* read_file(FILE*, gchar*)’:
/usr/include/glib-2.0/glib/gstring.h:77:31: warning: ignoring return value of ‘gchar* g_string_free_and_steal(GString*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   77 |       g_string_free_and_steal (str))            \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
paps.cc:1047:3: note: in expansion of macro ‘g_string_free’
 1047 |   g_string_free (inbuf, false);
      |   ^~~~~~~~~~~~~
paps.cc: In function ‘std::string get_date()’:
/usr/include/glib-2.0/glib/gstring.h:77:31: warning: ignoring return value of ‘gchar* g_string_free_and_steal(GString*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   77 |       g_string_free_and_steal (str))            \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
paps.cc:1674:7: note: in expansion of macro ‘g_string_free’
 1674 |       g_string_free(inbuf, false);
      |       ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gstring.h:77:31: warning: ignoring return value of ‘gchar* g_string_free_and_steal(GString*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   77 |       g_string_free_and_steal (str))            \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
paps.cc:1683:5: note: in expansion of macro ‘g_string_free’
 1683 |     g_string_free(inbuf, false);
      |     ^~~~~~~~~~~~~
make[3]: *** [Makefile:461: paps-paps.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:417: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:358: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j2 returned exit code 2
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------