[Aptitude-devel] Bug#1065435: aptitude: FTBFS on armhf and armel (probably -Werror=implicit-function-declaration related)

2024-03-04 Thread Sven Joachim via Aptitude-devel
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 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(99), c.tv_usec);
>   | ^
> make[3]: *** [Makefile:869: test_misc.o] Error 1
> make[3]: Leaving directory '/<>/build/tests'
> make[2]: *** [Makefile:1169: check-am] Error 2
> make[2]: Leaving directory '/<>/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 '/<>'
> 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 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(99), c.tv_usec);
>   | ^
> make[3]: *** [Makefile:869: test_misc.o] Error 1
> make[3]: Leaving directory '/<>/build/tests'
> make[2]: *** [Makefile:1169: check-am] Error 2
> make[2]: Leaving directory '/<>/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 '/<>'
> 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

___
Aptitude-devel mailing list
Aptitude-devel@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/aptitude-devel


[Aptitude-devel] Bug#1065435: aptitude: FTBFS on armhf and armel (probably -Werror=implicit-function-declaration related)

2024-03-04 Thread Axel Beckert
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 
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(99), c.tv_usec);
  | ^
make[3]: *** [Makefile:869: test_misc.o] Error 1
make[3]: Leaving directory '/<>/build/tests'
make[2]: *** [Makefile:1169: check-am] Error 2
make[2]: Leaving directory '/<>/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 '/<>'
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 
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(99), c.tv_usec);
  | ^
make[3]: *** [Makefile:869: test_misc.o] Error 1
make[3]: Leaving directory '/<>/build/tests'
make[2]: *** [Makefile:1169: check-am] Error 2
make[2]: Leaving directory '/<>/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 '/<>'
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).

-- Package-specific info:
Terminal: xterm-256color
$DISPLAY is set.
which aptitude: /usr/bin/aptitude

aptitude version information:
aptitude 0.8.13
Compiler: g++ 13.2.0
Compiled against:
  apt version 6.0.0
  NCurses version 6.4
  libsigc++ version: 2.12.1
  Gtk+ support disabled.
  Qt support disabled.

Current library versions:
  NCurses version: ncurses 6.4.20240113
  cwidget version: 0.5.18
  Apt version: 6.0.0

aptitude linkage:
linux-vdso.so.1 (0x7ffc0a3eb000)
libgtk3-nocsd.so.0 => /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 
(0x7f8fca645000)
libapt-pkg.so.6.0 => /lib/x86_64-linux-gnu/libapt-pkg.so.6.0 
(0x7f8fc9e0)
libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 
(0x7f8fca1c6000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 
(0x7f8fca191000)
libsigc-2.0.so.0 => /lib/x86_64-linux-gnu/libsigc-2.0.so.0 
(0x7f8fca188000)
libcwidget.so.4 => /lib/x86_64-linux-gnu/libcwidget.so.4 
(0x7f8fca084000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 
(0x7f8fc9c8a000)
libboost_iostreams.so.1.83.0 => 
/lib/x86_64-linux-gnu/libboost_iostreams.so.1.83.0 (0x7f8fca06a000)
libxapian.so.30 => /lib/x86_64-linux-gnu/libxapian.so.30 
(0x7f8fc9a0)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 
(0x7f8fc960)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7f8fc9921000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 
(0x7f8fca03b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f8fc941e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7f8fc9c85000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x7f8fc9c8)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x7f8fc9c61000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 
(0x7f8fc990e000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x7f8fc98d1000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x7f8fc98ab000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x7f8fc935d000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x7f8fc9878000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 
(0x7f8fc927b000)
libgcrypt.so.20 =>