On 2024-03-04 16:01 +0100, Axel Beckert wrote:

> Source: aptitude
> Version: 0.8.13-5
> Severity: serious
> Tags: ftbfs
> X-Debbugs-Cc: a...@debian.org, z...@debian.org
>
> Citing from https://buildd.debian.org/status/package.php?p=aptitude:
>
> BinNMU changelog for aptitude on amd64, arm64, armel, armhf, i386,
> mips64el, ppc64el, riscv64, s390x, alpha, hppa, hurd-i386, ia64,
> loong64, m68k, powerpc, ppc64, sh4, sparc64 and x32:
>
> Rebuild for time_t
>
> Tail of log for aptitude on armel:
>
> /usr/include/cppunit/TestAssert.h:161:6: note: candidate:
> ‘template<class T> void CppUnit::assertEquals(const T&, const T&,
> SourceLine, const std::string&)’
>   161 | void assertEquals( const T& expected,
>       |      ^~~~~~~~~~~~
> /usr/include/cppunit/TestAssert.h:161:6: note:   template argument 
> deduction/substitution failed:
> ../../tests/test_misc.cc:187:5: note: deduced conflicting types for
> parameter ‘const T’ (‘long int’ and ‘__suseconds64_t’ {aka ‘long long
> int’})
>   187 |     CPPUNIT_ASSERT_EQUAL(static_cast<suseconds_t>(999999), c.tv_usec);
>       |     ^
> make[3]: *** [Makefile:869: test_misc.o] Error 1
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/build/tests'
> make[2]: *** [Makefile:1169: check-am] Error 2
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/build/tests'
> /bin/sh: 1: ./cppunit_test: not found
> make[1]: *** [debian/rules:39: override_dh_auto_test-arch] Error 127
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:22: binary-arch] Error 2
>
> Tail of log for aptitude on armhf:
>
> /usr/include/cppunit/TestAssert.h:161:6: note: candidate:
> ‘template<class T> void CppUnit::assertEquals(const T&, const T&,
> SourceLine, const std::string&)’
>   161 | void assertEquals( const T& expected,
>       |      ^~~~~~~~~~~~
> /usr/include/cppunit/TestAssert.h:161:6: note:   template argument 
> deduction/substitution failed:
> ../../tests/test_misc.cc:187:5: note: deduced conflicting types for
> parameter ‘const T’ (‘long int’ and ‘__suseconds64_t’ {aka ‘long long
> int’})
>   187 |     CPPUNIT_ASSERT_EQUAL(static_cast<suseconds_t>(999999), c.tv_usec);
>       |     ^
> make[3]: *** [Makefile:869: test_misc.o] Error 1
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/build/tests'
> make[2]: *** [Makefile:1169: check-am] Error 2
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/build/tests'
> /bin/sh: 1: ./cppunit_test: not found
> make[1]: *** [debian/rules:39: override_dh_auto_test-arch] Error 127
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:22: binary-arch] Error 2
>
> Given the time and the architectures failing, this is probably related
> to dpkg switching on -Werror=implicit-function-declaration on these
> architectures (see https://bugs.debian.org/1065371 and a good summary
> of a similar case in https://bugs.debian.org/1065431 against lintian).

Not really, these arches now default to a 64-bit time_t and therefore
you get the conflicting types (suseconds_t is a long int,
__suseconds64_t a long long int).  This has nothing to do with implicit
function declarations.

Cheers,
       Sven

Reply via email to