#1132065 apt-cacher-ng: ftbfs with GCC-16

#1132065#5
Date:
2026-03-27 17:18:12 UTC
From:
To:
Hi,

apt-cacher-ng fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.

The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/apt-cacher-ng_arm64.build.xz

The last lines of the build log are at the end of this report.

To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html

Please only close this issue after double-checking that the package can be
built correctly.

Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.

[...]


/build/reproducible-path/apt-cacher-ng-3.7.5/src/fileitem.cc:227:9: note: in expansion of macro ‘USRDBG’
  227 |         USRDBG( "Download started, storeHeader for " << m_sPathRel << ", current status: " << (int) m_status);
      |         ^~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/fileitem.cc: In member function ‘virtual void acng::fileitem::DlFinish(bool)’:
/build/reproducible-path/apt-cacher-ng-3.7.5/src/fileitem.cc:545:31: error: ‘LOG_MORE’ is not a member of ‘acng::log’
  545 |         if (cfg::debug & log::LOG_MORE)
      |                               ^~~~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/cleaner.cc: In member function ‘void acng::cleaner::WorkLoop()’:
/build/reproducible-path/apt-cacher-ng-3.7.5/src/aclogger.h:31:44: error: ‘LOG_DEBUG’ is not a member of ‘acng::log’
   31 | #define USRDBG(msg) { if(cfg::debug & log::LOG_DEBUG) {log::err( tSS()<<msg); } }
      |                                            ^~~~~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/cleaner.cc:76:33: note: in expansion of macro ‘USRDBG’
   76 |                                 USRDBG("acng::cfg:ExecutePostponed, nextRunTime now: " << time_cand);
      |                                 ^~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/aclogger.h:31:44: error: ‘LOG_DEBUG’ is not a member of ‘acng::log’
   31 | #define USRDBG(msg) { if(cfg::debug & log::LOG_DEBUG) {log::err( tSS()<<msg); } }
      |                                            ^~~~~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/cleaner.cc:81:33: note: in expansion of macro ‘USRDBG’
   81 |                                 USRDBG("tcpconnect::ExpireCache, nextRunTime now: " << time_cand);
      |                                 ^~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/aclogger.h:31:44: error: ‘LOG_DEBUG’ is not a member of ‘acng::log’
   31 | #define USRDBG(msg) { if(cfg::debug & log::LOG_DEBUG) {log::err( tSS()<<msg); } }
      |                                            ^~~~~~~~~
/build/reproducible-path/apt-cacher-ng-3.7.5/src/cleaner.cc:88:33: note: in expansion of macro ‘USRDBG’
   88 |                                 USRDBG("fileitem::DoDelayedUnregAndCheck, nextRunTime now: " << time_cand);
      |                                 ^~~~~~
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:264: src/CMakeFiles/supacng.dir/meta.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:488: src/CMakeFiles/supacng.dir/cacheman.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:600: src/CMakeFiles/supacng.dir/showinfo.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:222: src/CMakeFiles/supacng.dir/fileitem.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:292: src/CMakeFiles/supacng.dir/cleaner.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:124: src/CMakeFiles/supacng.dir/acfg.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:572: src/CMakeFiles/supacng.dir/mirror.cc.o] Error 1
make[3]: *** [src/CMakeFiles/supacng.dir/build.make:306: src/CMakeFiles/supacng.dir/lockable.cc.o] Error 1
In file included from /usr/include/c++/16/bits/char_traits.h:59,
                 from /usr/include/c++/16/string_view:51,
                 from /build/reproducible-path/apt-cacher-ng-3.7.5/src/actypes.h:33,
                 from /build/reproducible-path/apt-cacher-ng-3.7.5/src/meta.h:4,
                 from /build/reproducible-path/apt-cacher-ng-3.7.5/src/maintenance.cc:3:
In function ‘constexpr void std::destroy_at(_Tp*) [with _Tp = mutex]’,
    inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = mutex]’ at /usr/include/c++/16/bits/stl_construct.h:164:22,
    inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = std::mutex]’ at /usr/include/c++/16/bits/alloc_traits.h:859:17,
    inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = std::mutex; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:682:35,
    inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:423:18,
    inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:392:5,
    inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1136:21,
    inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = acng::tSpecialRequest; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1610:7,
    inlined from ‘std::shared_ptr<acng::tSpecialRequest>::~shared_ptr()’ at /usr/include/c++/16/bits/shared_ptr.h:175:11,
    inlined from ‘static void acng::tSpecialRequest::RunMaintWork(eMaintWorkType, acng::cmstring&, int, acng::ISharedConnectionResources*)’ at /build/reproducible-path/apt-cacher-ng-3.7.5/src/maintenance.cc:370:2:
/usr/include/c++/16/bits/stl_construct.h:88:9: warning: array subscript ‘std::mutex[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Warray-bounds=]
   88 |         __location->~_Tp();
      |         ^~~~~~~~~~
In file included from /usr/include/c++/16/bits/shared_ptr.h:53,
                 from /usr/include/c++/16/memory:82,
                 from /build/reproducible-path/apt-cacher-ng-3.7.5/src/actypes.h:40:
In constructor ‘std::__shared_count<_Lp>::__shared_count(_Ptr) [with _Ptr = acng::tSpecialRequest*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
    inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, std::false_type) [with _Ptr = acng::tSpecialRequest*; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:992:22,
    inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*) [with _Yp = acng::tSpecialRequest; <template-parameter-2-2> = void; _Tp = acng::tSpecialRequest; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1555:17,
    inlined from ‘std::__shared_ptr<_Tp, _Lp>::_SafeConv<_Yp> std::__shared_ptr<_Tp, _Lp>::reset(_Yp*) [with _Yp = acng::tSpecialRequest; _Tp = acng::tSpecialRequest; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at /usr/include/c++/16/bits/shared_ptr_base.h:1736:4,
    inlined from ‘static void acng::tSpecialRequest::RunMaintWork(eMaintWorkType, acng::cmstring&, int, acng::ISharedConnectionResources*)’ at /build/reproducible-path/apt-cacher-ng-3.7.5/src/maintenance.cc:367:10:
/usr/include/c++/16/bits/shared_ptr_base.h:981:23: note: at offset 16 into object of size 24 allocated by ‘operator new’
  981 |               _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: Leaving directory '/build/reproducible-path/apt-cacher-ng-3.7.5/obj-aarch64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:271: src/CMakeFiles/supacng.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/apt-cacher-ng-3.7.5/obj-aarch64-linux-gnu'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/apt-cacher-ng-3.7.5/obj-aarch64-linux-gnu'
dh_auto_build: error: cd obj-aarch64-linux-gnu && make -j128 VERBOSE=1 returned exit code 2
make: *** [debian/rules:27: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

#1132065#12
Date:
2026-08-10 20:33:03 UTC
From:
To:
GCC 16's libstdc++ no longer pulls in <cstdint>, causing a cascade of
errors. GCC emits the fix-it hint "probably fixable by adding '#include
<cstdint>'" directly above the errors.

Add the include to src/actypes.h, the common root header reached by
every translation unit, plus the tree headers GCC named explicitly
(acligger.h, ahttpurl.h, portutils.h) so they stay self-contained.

Verified: Full package build in an unstable chroot, where gcc-defaults
is 16.1.0-3.

Merge request against debian/sid:

https://salsa.debian.org/blade/apt-cacher-ng/-/merge_requests/28

Patch 0001 attached.

Kind regards,

     Edmund Lodewijks

#1132065#19
Date:
2026-08-10 22:33:45 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
apt-cacher-ng, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1132065@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Chris Hofstaedtler <zeha@debian.org> (supplier of updated apt-cacher-ng package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 11 Aug 2026 00:14:57 +0200
Source: apt-cacher-ng
Architecture: source
Version: 3.7.5-1.2
Distribution: unstable
Urgency: medium
Maintainer: Eduard Bloch <blade@debian.org>
Changed-By: Chris Hofstaedtler <zeha@debian.org>
Closes: 1132065
Changes:
 apt-cacher-ng (3.7.5-1.2) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Apply patch from Edmund Lodewijks to fix FTBFS with gcc-16.
     (Closes: #1132065)
Checksums-Sha1:
 052df2ba46ebf1ec4149f4ada7b0bdb47da3c013 2174 apt-cacher-ng_3.7.5-1.2.dsc
 73deab0e74cce612631cb570f1bd8ec4521c2eff 53088 apt-cacher-ng_3.7.5-1.2.debian.tar.xz
 00076cc31920f690519bc4210c5cb815f93e116f 7331 apt-cacher-ng_3.7.5-1.2_arm64.buildinfo
Checksums-Sha256:
 9ffb56383f5c856cc0f2dfac33be7663fad8154e4c069f3de097e29286b6bfe2 2174 apt-cacher-ng_3.7.5-1.2.dsc
 a57fb126bc797eef51b0b65d2e515064501703e07b7fabcddfa00d2b20cbe087 53088 apt-cacher-ng_3.7.5-1.2.debian.tar.xz
 a4e3570770f5db6e9b05c8437e54f54c5bbb270b1ec8b4661ac9998415d70e27 7331 apt-cacher-ng_3.7.5-1.2_arm64.buildinfo
Files:
 2f35f6851f8a58de54a2f95249020bfb 2174 net optional apt-cacher-ng_3.7.5-1.2.dsc
 216881c5065f43680c078993ec1693f8 53088 net optional apt-cacher-ng_3.7.5-1.2.debian.tar.xz
 0e4a52c0db4a199bae8acc1f74e8c156 7331 net optional apt-cacher-ng_3.7.5-1.2_arm64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfRrP+tnggGycTNOSXBPW25MFLgMFAmp6T3sACgkQXBPW25MF
LgNsZg//YsvLBD12eMjpfEp8/+5sHYT5qvVjGOqLeqJbQBvKLVuLHRdbr9kpakEq
1i84LtyjgDIUn2o35AsD06AjXuRkOgz3KFPdmkiL8MjEVoJ6TfmGRWDfOt4I1E92
mpY36xu+kV8JMEupphDrYSNLB+GQvqmBRRdKRh6YUMVxaroT68VSPYFeWgJa1f8M
1I4FLaJu4gbeqnxgGFCbkD6hDjx7lGufixchoA4SksD7NdfowmGWZlQue96/ycGD
gjGL+IFLkc8acaTHwMdgjv/zzDF5YLoXbuFf5D23nlU62YlgK1Rfu8T3B95By9S+
d7PEhlIzdRI5QeQcL/TbuCJW0JL0KvAhqqlfPmOXaFttH8VrMMdvR/oPl/c0lwNx
gq94hBUhlNddoaVOuaN/dToGWdVij8IirYTlGNib2ZsQW3ABl+lYnDeknDl0ka0L
CIW4tUMUzVYe1DlRlK8nM/35b/xDgOenn6mf5gcVmUfTDFLj5K/GyBxLjEiCnFBi
1AlWq5oJjxrMI9svCwBsoHiMzdjR6SF/gWEIAY8UKDNWwbRjKLi38Pt0k4PMIz2L
x5d6l2q2KL5GYQJVVq2VpOpoISKMVSfiXaxXggUlek5vPXs2FPn9tZxzYYfwyJsP
xox/lXKbpqmoGY1VDq4tJ0TxudKxlJRCoYGCxiI/FH7I8vpkxcY=
=BztP
-----END PGP SIGNATURE-----