• Bug#1101222: cgreen: FTBFS: /usr/include/unicode/localpointer.h:561:26:

    From Santiago Vila@21:1/5 to All on Tue Mar 25 01:20:05 2025
    Package: src:cgreen
    Version: 1.6.4-1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    cd /<<PKGBUILDDIR>>/build/tests && /usr/bin/c++ -DHAVE_LIBXML2_REPORTER=1 -DHAVE_SYS_RESOURCE_H -DHAVE_XML_REPORTER=1 -DVERSION=\"1.6.4\" -D_FORTIFY_SOURCE=2 -D_REENTRANT -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D__STDC_FORMAT_MACROS -I/<<PKGBUILDDIR>>/
    build/tests -I/<<PKGBUILDDIR>>/tests -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/usr/include/libxml2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-
    security -fcf-protection -std=c++11 -Weffc++ -Wall -Wextra -Wunused -fPIC -O -MD -MT tests/CMakeFiles/test_cgreen_cpp.dir/xml_reporter_tests.cpp.o -MF CMakeFiles/test_cgreen_cpp.dir/xml_reporter_tests.cpp.o.d -o CMakeFiles/test_cgreen_cpp.dir/xml_
    reporter_tests.cpp.o -c /<<PKGBUILDDIR>>/tests/xml_reporter_tests.cpp
    In file included from /usr/include/unicode/uenum.h:25,
    from /usr/include/unicode/ucnv.h:52,
    from /usr/include/libxml2/libxml/encoding.h:31,
    from /usr/include/libxml2/libxml/parser.h:812,
    from /usr/include/libxml2/libxml/globals.h:18,
    from /usr/include/libxml2/libxml/threads.h:35,
    from /usr/include/libxml2/libxml/xmlmemory.h:218,
    from /usr/include/libxml2/libxml/tree.h:1307,
    from /<<PKGBUILDDIR>>/tests/libxml_reporter_tests.c:12,
    from /<<PKGBUILDDIR>>/tests/libxml_reporter_tests.cpp:11: /usr/include/unicode/localpointer.h:561:26: error: parameter declared ‘auto’
    561 | template <typename Type, auto closeFunction>
    | ^~~~ /usr/include/unicode/localpointer.h:573:76: error: template argument 2 is invalid
    573 | explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p)
    | ^
    /usr/include/unicode/localpointer.h:583:78: error: template argument 2 is invalid
    583 | LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) {
    | ^
    /usr/include/unicode/localpointer.h:599:59: error: template argument 2 is invalid
    599 | operator std::unique_ptr<Type, decltype(closeFunction)> () && {
    | ^ /usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter
    69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/unicode/ucnv.h:597:1: note: invalid template non-type parameter
    597 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[4]: *** [tests/CMakeFiles/cgreen_cpp_tests.dir/build.make:348: tests/CMakeFiles/cgreen_cpp_tests.dir/libxml_reporter_tests.cpp.o] Error 1
    make[3]: *** [CMakeFiles/Makefile2:1507: tests/CMakeFiles/cgreen_cpp_tests.dir/all] Error 2
    make[3]: *** Waiting for unfinished jobs....
    [ 61%] Building CXX object tests/CMakeFiles/test_cgreen_cpp.dir/libxml_reporter_tests.cpp.o
    cd /<<PKGBUILDDIR>>/build/tests && /usr/bin/c++ -DHAVE_LIBXML2_REPORTER=1 -DHAVE_SYS_RESOURCE_H -DHAVE_XML_REPORTER=1 -DVERSION=\"1.6.4\" -D_FORTIFY_SOURCE=2 -D_REENTRANT -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D__STDC_FORMAT_MACROS -I/<<PKGBUILDDIR>>/
    build/tests -I/<<PKGBUILDDIR>>/tests -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/usr/include/libxml2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-
    security -fcf-protection -std=c++11 -Weffc++ -Wall -Wextra -Wunused -fPIC -O -MD -MT tests/CMakeFiles/test_cgreen_cpp.dir/libxml_reporter_tests.cpp.o -MF CMakeFiles/test_cgreen_cpp.dir/libxml_reporter_tests.cpp.o.d -o CMakeFiles/test_cgreen_cpp.dir/
    libxml_reporter_tests.cpp.o -c /<<PKGBUILDDIR>>/tests/libxml_reporter_tests.cpp [ 62%] Building CXX object tests/CMakeFiles/test_cgreen_cpp.dir/cpp_assertion_tests.cpp.o
    cd /<<PKGBUILDDIR>>/build/tests && /usr/bin/c++ -DHAVE_LIBXML2_REPORTER=1 -DHAVE_SYS_RESOURCE_H -DHAVE_XML_REPORTER=1 -DVERSION=\"1.6.4\" -D_FORTIFY_SOURCE=2 -D_REENTRANT -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D__STDC_FORMAT_MACROS -I/<<PKGBUILDDIR>>/
    build/tests -I/<<PKGBUILDDIR>>/tests -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/usr/include/libxml2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-
    security -fcf-protection -std=c++11 -Weffc++ -Wall -Wextra -Wunused -fPIC -O -MD -MT tests/CMakeFiles/test_cgreen_cpp.dir/cpp_assertion_tests.cpp.o -MF CMakeFiles/test_cgreen_cpp.dir/cpp_assertion_tests.cpp.o.d -o CMakeFiles/test_cgreen_cpp.dir/cpp_
    assertion_tests.cpp.o -c /<<PKGBUILDDIR>>/tests/cpp_assertion_tests.cpp
    In file included from /usr/include/unicode/uenum.h:25,
    from /usr/include/unicode/ucnv.h:52,
    from /usr/include/libxml2/libxml/encoding.h:31,
    from /usr/include/libxml2/libxml/parser.h:812,
    from /usr/include/libxml2/libxml/globals.h:18,
    from /usr/include/libxml2/libxml/threads.h:35,
    from /usr/include/libxml2/libxml/xmlmemory.h:218,
    from /usr/include/libxml2/libxml/tree.h:1307,
    from /<<PKGBUILDDIR>>/tests/libxml_reporter_tests.c:12,
    from /<<PKGBUILDDIR>>/tests/libxml_reporter_tests.cpp:11: /usr/include/unicode/localpointer.h:561:26: error: parameter declared ‘auto’
    561 | template <typename Type, auto closeFunction>
    | ^~~~ /usr/include/unicode/localpointer.h:573:76: error: template argument 2 is invalid
    573 | explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p)
    | ^
    /usr/include/unicode/localpointer.h:583:78: error: template argument 2 is invalid
    583 | LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) {
    | ^
    /usr/include/unicode/localpointer.h:599:59: error: template argument 2 is invalid
    599 | operator std::unique_ptr<Type, decltype(closeFunction)> () && {
    | ^ /usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter
    69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/unicode/ucnv.h:597:1: note: invalid template non-type parameter
    597 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    make[4]: *** [tests/CMakeFiles/test_cgreen_cpp.dir/build.make:362: tests/CMakeFiles/test_cgreen_cpp.dir/libxml_reporter_tests.cpp.o] Error 1
    make[4]: *** Waiting for unfinished jobs....
    make[3]: *** [CMakeFiles/Makefile2:1539: tests/CMakeFiles/test_cgreen_cpp.dir/all] Error 2
    make[2]: *** [Makefile:169: all] Error 2
    make[1]: *** [Makefile:166: build-it] Error 2
    dh_auto_build: error: make -j2 "INSTALL=install --strip-program=true" returned exit code 2
    make: *** [debian/rules:12: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

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

    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 could not 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:cgreen, so that this is still
    visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)