Bug#1143702: rxvt-unicode: FTBFS: rxvttoolkit.C:839:33: error: call of overloaded 'lerp<int, int, int>(int, rgba::<unnamed enum>, uint16_t&)' is ambiguous

Santiago Vila <[email protected]> Wed, 05 Aug 2026 11:25:21 +0000
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <E1wrZkP-00Gxnd-3A__35380.3351915971$1785929390$gmane$org@paradis.debian.org>
Package: src:rxvt-unicode
Version: 9.31-3
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:rxvt-unicode, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules build
dh build
   dh_update_autotools_config
   dh_autoreconf
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: no obvious need to run autopoint
autoreconf: configure.ac: not using aclocal
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: no need to run autopoint (confirmed)
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force

[... snipped ...]

      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:161:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  161 |               RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:162:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  162 |               RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:163:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  163 |               RSTRG (Rs_color + minBrightCOLOR + 3, "color11", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:164:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  164 |               RSTRG (Rs_color + minBrightCOLOR + 4, "color12", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:165:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  165 |               RSTRG (Rs_color + minBrightCOLOR + 5, "color13", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:166:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  166 |               RSTRG (Rs_color + minBrightCOLOR + 6, "color14", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:167:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  167 |               RSTRG (Rs_color + minBrightCOLOR + 7, "color15", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:169:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  169 |               RSTRG (Rs_color + Color_BD, "colorBD", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:170:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  170 |               RSTRG (Rs_color + Color_IT, "colorIT", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:171:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  171 |               RSTRG (Rs_color + Color_UL, "colorUL", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:172:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  172 |               RSTRG (Rs_color + Color_RV, "colorRV", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:175:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  175 |               RSTRG (Rs_color + Color_underline, "underlineColor", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:177:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  177 |               RSTRG (Rs_color + Color_scroll, "scrollColor", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:179:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  179 |               RSTRG (Rs_color + Color_trough, "troughColor", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:182:30: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  182 |               STRG (Rs_color + Color_HC, "highlightColor", "hc", "color", "highlight color"),
      |                     ~~~~~~~~~^~~~~~~~~~
xdefaults.C:57:13: note: in definition of macro ‘STRG’
   57 |     {0, 0, (rsp), (kw), (opt), (arg), (desc)}
      |             ^~~
xdefaults.C:183:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  183 |               RSTRG (Rs_color + Color_HTC, "highlightTextColor", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:186:30: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  186 |               STRG (Rs_color + Color_cursor, "cursorColor", "cr", "color", "cursor color"),
      |                     ~~~~~~~~~^~~~~~~~~~~~~~
xdefaults.C:57:13: note: in definition of macro ‘STRG’
   57 |     {0, 0, (rsp), (kw), (opt), (arg), (desc)}
      |             ^~~
xdefaults.C:188:31: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  188 |               RSTRG (Rs_color + Color_cursor2, "cursorColor2", "color"),
      |                      ~~~~~~~~~^~~~~~~~~~~~~~~
xdefaults.C:61:13: note: in definition of macro ‘RSTRG’
   61 |     {0, 0, (rsp), (kw), NULL, (arg), NULL}
      |             ^~~
xdefaults.C:190:30: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  190 |               STRG (Rs_color + Color_pointer_fg, "pointerColor", "pr", "color", "pointer color"),
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~
xdefaults.C:57:13: note: in definition of macro ‘STRG’
   57 |     {0, 0, (rsp), (kw), (opt), (arg), (desc)}
      |             ^~~
xdefaults.C:191:30: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  191 |               STRG (Rs_color + Color_pointer_bg, "pointerColor2", "pr2", "color", "pointer bg color"),
      |                     ~~~~~~~~~^~~~~~~~~~~~~~~~~~
xdefaults.C:57:13: note: in definition of macro ‘STRG’
   57 |     {0, 0, (rsp), (kw), (opt), (arg), (desc)}
      |             ^~~
xdefaults.C:192:30: warning: arithmetic between different enumeration types ‘<unnamed enum>’ and ‘colour_list’ is deprecated [-Wdeprecated-enum-enum-conversion]
  192 |               STRG (Rs_color + Color_border, "borderColor", "bd", "color", "border color"),
      |                     ~~~~~~~~~^~~~~~~~~~~~~~
xdefaults.C:57:13: note: in definition of macro ‘STRG’
   57 |     {0, 0, (rsp), (kw), (opt), (arg), (desc)}
      |             ^~~
x86_64-linux-gnu-g++ -I.. -I. -I. -I./../libev -DHAVE_CONFIG_H  -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/uuid  -I/usr/include/freetype2 -I/usr/include/libpng16  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wno-parentheses -Wno-reorder -Wno-sign-compare -Wno-unused-value -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glycin-2 -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/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread -I/usr/include/startup-notification-1.0 -c rxvttoolkit.C
encoding.C:148:18: warning: ‘unicode_t cs_unicode_to_unicode(uint32_t)’ defined but not used [-Wunused-function]
  148 | static unicode_t cs_unicode_to_unicode (uint32_t enc)          { return enc; }
      |                  ^~~~~~~~~~~~~~~~~~~~~
encoding.C:145:18: warning: ‘unicode_t cs_unknown_to_unicode(uint32_t)’ defined but not used [-Wunused-function]
  145 | static unicode_t cs_unknown_to_unicode (uint32_t enc)          { return NOCHAR; }
      |                  ^~~~~~~~~~~~~~~~~~~~~
In file included from ./../libev/ev++.h:46,
                 from ./ev_cpp.h:27,
                 from ./rxvttoolkit.h:33,
                 from ./rxvtfont.h:13,
                 from ./rxvt.h:90,
                 from rxvttoolkit.C:25:
./../libev/ev++.h: In member function ‘void ev::timer::set(ev_tstamp, ev_tstamp)’:
./../libev/ev.h:699:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  699 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
./../libev/ev++.h:656:7: note: in expansion of macro ‘ev_timer_set’
  656 |       ev_timer_set (static_cast<ev_timer *>(this), after, repeat);
      |       ^~~~~~~~~~~~
rxvttoolkit.C: In member function ‘_XrmHashBucketRec* rxvt_display::get_resources(bool)’:
rxvttoolkit.C:354:12: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  354 |       xe = "/etc/X11/app-defaults";
      |            ^~~~~~~~~~~~~~~~~~~~~~~
rxvttoolkit.C: In member function ‘bool rxvt_color::set(rxvt_screen*, const char*)’:
rxvttoolkit.C:839:33: error: call of overloaded ‘lerp<int, int, int>(int, rgba::<unnamed enum>, uint16_t&)’ is ambiguous
  839 |       c.a = lerp<int, int, int> (0, rgba::MAX_CC, c.a);
      |             ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  • there are 2 candidates
In file included from /usr/include/c++/16/math.h:36,
                 from ./ecb.h:1199,
                 from ./rxvt.h:86:
    • candidate 1: ‘constexpr __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> std::lerp(_Tp, _Up, _Vp) [with _Tp = int; _Up = int; _Vp = int; __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> = double]’
      /usr/include/c++/16/cmath:3870:5:
       3870 |     lerp(_Tp __x, _Up __y, _Vp __z) noexcept
            |     ^~~~
In file included from ./rxvt.h:89:
    • candidate 2: ‘T lerp(T, U, P) [with T = int; U = int; P = int]’
      ./rxvtutil.h:24:1:
         24 | lerp (T a, U b, P p)
            | ^~~~
rxvttoolkit.C: In member function ‘void rxvt_color::fade(rxvt_screen*, int, rxvt_color&, const rgba&)’:
rxvttoolkit.C:986:12: error: call of overloaded ‘lerp(uint16_t&, const uint16_t&, int&)’ is ambiguous
  986 |       lerp (c.r, to.r, percent),
      |       ~~~~~^~~~~~~~~~~~~~~~~~~~
  • there are 5 candidates
    • candidate 1: ‘constexpr __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> std::lerp(_Tp, _Up, _Vp) [with _Tp = short unsigned int; _Up = short unsigned int; _Vp = int; __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> = double]’
      /usr/include/c++/16/cmath:3870:5:
       3870 |     lerp(_Tp __x, _Up __y, _Vp __z) noexcept
            |     ^~~~
    • candidate 2: ‘T lerp(T, U, P) [with T = short unsigned int; U = short unsigned int; P = int]’
      ./rxvtutil.h:24:1:
         24 | lerp (T a, U b, P p)
            | ^~~~
    • candidate 3: ‘constexpr long double std::lerp(long double, long double, long double)’
      /usr/include/c++/16/cmath:3865:3:
       3865 |   lerp(long double __a, long double __b, long double __t) noexcept
            |   ^~~~
    • candidate 4: ‘constexpr double std::lerp(double, double, double)’
      /usr/include/c++/16/cmath:3861:3:
       3861 |   lerp(double __a, double __b, double __t) noexcept
            |   ^~~~
    • candidate 5: ‘constexpr float std::lerp(float, float, float)’
      /usr/include/c++/16/cmath:3857:3:
       3857 |   lerp(float __a, float __b, float __t) noexcept
            |   ^~~~
rxvttoolkit.C:987:12: error: call of overloaded ‘lerp(uint16_t&, const uint16_t&, int&)’ is ambiguous
  987 |       lerp (c.g, to.g, percent),
      |       ~~~~~^~~~~~~~~~~~~~~~~~~~
  • there are 5 candidates
    • candidate 1: ‘constexpr __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> std::lerp(_Tp, _Up, _Vp) [with _Tp = short unsigned int; _Up = short unsigned int; _Vp = int; __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> = double]’
      /usr/include/c++/16/cmath:3870:5:
       3870 |     lerp(_Tp __x, _Up __y, _Vp __z) noexcept
            |     ^~~~
    • candidate 2: ‘T lerp(T, U, P) [with T = short unsigned int; U = short unsigned int; P = int]’
      ./rxvtutil.h:24:1:
         24 | lerp (T a, U b, P p)
            | ^~~~
    • candidate 3: ‘constexpr long double std::lerp(long double, long double, long double)’
      /usr/include/c++/16/cmath:3865:3:
       3865 |   lerp(long double __a, long double __b, long double __t) noexcept
            |   ^~~~
    • candidate 4: ‘constexpr double std::lerp(double, double, double)’
      /usr/include/c++/16/cmath:3861:3:
       3861 |   lerp(double __a, double __b, double __t) noexcept
            |   ^~~~
    • candidate 5: ‘constexpr float std::lerp(float, float, float)’
      /usr/include/c++/16/cmath:3857:3:
       3857 |   lerp(float __a, float __b, float __t) noexcept
            |   ^~~~
rxvttoolkit.C:988:12: error: call of overloaded ‘lerp(uint16_t&, const uint16_t&, int&)’ is ambiguous
  988 |       lerp (c.b, to.b, percent),
      |       ~~~~~^~~~~~~~~~~~~~~~~~~~
  • there are 5 candidates
    • candidate 1: ‘constexpr __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> std::lerp(_Tp, _Up, _Vp) [with _Tp = short unsigned int; _Up = short unsigned int; _Vp = int; __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> = double]’
      /usr/include/c++/16/cmath:3870:5:
       3870 |     lerp(_Tp __x, _Up __y, _Vp __z) noexcept
            |     ^~~~
    • candidate 2: ‘T lerp(T, U, P) [with T = short unsigned int; U = short unsigned int; P = int]’
      ./rxvtutil.h:24:1:
         24 | lerp (T a, U b, P p)
            | ^~~~
    • candidate 3: ‘constexpr long double std::lerp(long double, long double, long double)’
      /usr/include/c++/16/cmath:3865:3:
       3865 |   lerp(long double __a, long double __b, long double __t) noexcept
            |   ^~~~
    • candidate 4: ‘constexpr double std::lerp(double, double, double)’
      /usr/include/c++/16/cmath:3861:3:
       3861 |   lerp(double __a, double __b, double __t) noexcept
            |   ^~~~
    • candidate 5: ‘constexpr float std::lerp(float, float, float)’
      /usr/include/c++/16/cmath:3857:3:
       3857 |   lerp(float __a, float __b, float __t) noexcept
            |   ^~~~
rxvttoolkit.C:989:12: error: call of overloaded ‘lerp(uint16_t&, const uint16_t&, int&)’ is ambiguous
  989 |       lerp (c.a, to.a, percent)
      |       ~~~~~^~~~~~~~~~~~~~~~~~~~
  • there are 5 candidates
    • candidate 1: ‘constexpr __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> std::lerp(_Tp, _Up, _Vp) [with _Tp = short unsigned int; _Up = short unsigned int; _Vp = int; __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> = double]’
      /usr/include/c++/16/cmath:3870:5:
       3870 |     lerp(_Tp __x, _Up __y, _Vp __z) noexcept
            |     ^~~~
    • candidate 2: ‘T lerp(T, U, P) [with T = short unsigned int; U = short unsigned int; P = int]’
      ./rxvtutil.h:24:1:
         24 | lerp (T a, U b, P p)
            | ^~~~
    • candidate 3: ‘constexpr long double std::lerp(long double, long double, long double)’
      /usr/include/c++/16/cmath:3865:3:
       3865 |   lerp(long double __a, long double __b, long double __t) noexcept
            |   ^~~~
    • candidate 4: ‘constexpr double std::lerp(double, double, double)’
      /usr/include/c++/16/cmath:3861:3:
       3861 |   lerp(double __a, double __b, double __t) noexcept
            |   ^~~~
    • candidate 5: ‘constexpr float std::lerp(float, float, float)’
      /usr/include/c++/16/cmath:3857:3:
       3857 |   lerp(float __a, float __b, float __t) noexcept
            |   ^~~~
make[3]: *** [Makefile:61: rxvttoolkit.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:37: all] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j2 returned exit code 2
make[1]: *** [debian/rules:57: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:15: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess failed with exit status 2
--------------------------------------------------------------------------------