Control: tag -1 pending
Hi!
On Wed, 2026-08-05 at 11:24:51 +0000, Santiago Vila wrote:
> Package: src:paps
> Version: 0.8.0-0.1
> Severity: serious
> Tags: ftbfs forky sid
> --------------------------------------------------------------------------------
> [...]
> 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
> --------------------------------------------------------------------------------
I've prepared an update to the latest upstream release that includes a
fix for this, and the libpaper addition, and I'll be uploading the NMU
right away to the DELAYED 7 day queue.
The current changes are in the repo:
https://salsa.debian.org/guillem/debian-pkg-paps
Once/if the upload reaches sid, I'd push those changes to the repo under
the debian namespace. Otherwise let me know if you want me to cancel the
delayed NMU.
Thanks,
Guillem