- Package:
- src:aspectc++
- Source:
- src:aspectc++
- Submitter:
- Emanuele Rocca
- Date:
- 2026-10-04 21:13:02 UTC
- Severity:
- normal
- Tags:
Hi, aspectc++ 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/aspectc++_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 with GCC 16. 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. [...] DIFF BETWEEN FILES 'dep/Test.ref.d' and 'dep/Test.d': 1,2c1,4 < Test.o: ../../../../tests/src/Test.cc /usr/include/stdc-predef.h \ < ../../../../tests/src/trace.ah /usr/include/stdio.h \ --- 4,7d5 < /usr/include/features.h /usr/include/features-time64.h \ < /usr/include/aarch64-linux-gnu/bits/wordsize.h \ < /usr/include/aarch64-linux-gnu/bits/timesize.h \ < /usr/include/aarch64-linux-gnu/sys/cdefs.h \ 9,14c7 < /usr/include/aarch64-linux-gnu/gnu/stubs.h \ < /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ < /usr/lib/gcc/aarch64-linux-gnu/16/include/stddef.h \ < /usr/lib/gcc/aarch64-linux-gnu/16/include/stdarg.h \ < /usr/include/aarch64-linux-gnu/bits/types.h \ < /usr/include/aarch64-linux-gnu/bits/typesizes.h \ --- 15a9,13 18,21d15 < /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ < /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ < /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ < /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ 23,27c17,26 < /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ < /usr/include/aarch64-linux-gnu/bits/floatn.h \ < /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ < ../../../../tests/src/Test.h \ < ../../../../tests/src/../additional_includes/test_include.h --- STDERR: ------- make[1]: Leaving directory '/build/reproducible-path/aspectc++-2.5/Ag++' dh_testdir dh_testroot dh_prep dh_installdirs dh_installchangelogs dh_installdocs dh_install -Xlicence_1_0.txt dh_install: warning: Cannot find (any matches for) "Puma/lib/linux-release/libPuma.a" (tried in ., debian/tmp) dh_install: warning: libpuma-dev missing files: Puma/lib/linux-release/libPuma.a dh_install: error: missing files, aborting make: *** [debian/rules:139: binary-arch] Error 255 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
Hi Olaf, hi AspectC++ developers,
While testing AspectC++ with upcoming GCC 16, which now defaults to C++20,
it turned out that the compiler no longer builds cleanly under C++20.
The initial issue in Puma/src/scanner/CLexer.h (ambiguous operator== in C++20)
is already resolved in the latest SVN trunk (AspectC++-Project r8 / AspectC++
r1813), since Puma has been retired in favor of ACBase and ACModel.
However, running the test suite under C++20 triggered another compilation
failure in the DataFlowAnalysis test:
main.cc:298:50: error: expected '>'
298 | if (&increment_decrement_op < &global_pointer) {
| ^
In C++20 (specifically P0846R0 / [temp.names] p2), an unqualified function name
immediately preceding '<' in an expression is parsed as initiating a template
argument list (<...>). Because increment_decrement_op is a function name,
both Clang and GCC parse the '<' as an opening angle bracket for a template
rather than a less-than comparison, resulting in a syntax error.
Wrapping the function pointer comparison in parentheses resolves the ambiguity
and restores clean compilation under C++20:
if ((&increment_decrement_op) < (&global_pointer)) {
I have packaged SVN snapshot 2.5+svn20261003 for Debian, dropped the obsolete
Puma packages, and included this fix.
The patch file is directly available on Salsa at:
https://salsa.debian.org/debian/aspectc/-/raw/svn-snapshot-gcc16/debian/patches/cxx20-test-dataflowanalysis.patch
The full merge request on Salsa is here:
https://salsa.debian.org/debian/aspectc/-/merge_requests/2
Attached is the patch for DataFlowAnalysis against SVN r1834 for your review
and inclusion in the upstream repository.
Best regards,
Reinhard
We believe that the bug you reported is fixed in the latest version of
aspectc++, 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 1133428@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Reinhard Tartler <siretart@tauware.de> (supplier of updated aspectc++ 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: Sat, 03 Oct 2026 20:15:33 -0400
Source: aspectc++
Architecture: source
Version: 1:2.5+svn20261003-1
Distribution: unstable
Urgency: medium
Maintainer: Reinhard Tartler <siretart@tauware.de>
Changed-By: Reinhard Tartler <siretart@tauware.de>
Closes: 1133428
Changes:
aspectc++ (1:2.5+svn20261003-1) unstable; urgency=medium
.
* New upstream snapshot 2.5+svn20261003 (Closes: #1133428).
- Drop obsolete Puma library (replaced upstream by ACBase and ACModel).
- Drop libpuma-dev and libpuma-doc packages.
* debian/control:
- Drop libpuma-dev, libpuma-doc, and unused doxygen/graphviz build deps.
* debian/rules:
- Remove Puma compilation, weaving, and documentation targets.
- Streamline build to compile AspectC++ and Ag++ directly.
* debian/patches:
- Drop llvm-21.1.8.patch (applied upstream).
- Refresh float128.patch for DEP-3 compliance.
- Add cxx20-test-dataflowanalysis.patch to fix C++20 syntax ambiguity.
* debian/watch:
- Add watch file v5 tracking upstream SVN trunk.
* debian/get-orig-source.sh:
- Remove script in favor of native uscan Subversion support.
Checksums-Sha1:
39f2ea5d1b743c488c7f18719f0bb4f2576219ac 2196 aspectc++_2.5+svn20261003-1.dsc
3773dcbcf118323d35c0c345179c84d5ecf2b628 2581848 aspectc++_2.5+svn20261003.orig.tar.xz
c946ad0c14433577a8c6f3e08903219e0fdd938e 13772 aspectc++_2.5+svn20261003-1.debian.tar.xz
Checksums-Sha256:
99b250e1fbccc49af31570616880c564772db49e0b3dff298394542464949373 2196 aspectc++_2.5+svn20261003-1.dsc
dba85e15a6b4451411de9e959ad0ef591b6dc1cc29186c4a94e3c0dd70d7f2b9 2581848 aspectc++_2.5+svn20261003.orig.tar.xz
1f629ecfbfedaf9b375ae5a0bfe29974aadc7fbede5aa9dfded1f00ce1d3f2f3 13772 aspectc++_2.5+svn20261003-1.debian.tar.xz
Files:
cc94342e8d6570428ba7720643c84a73 2196 devel optional aspectc++_2.5+svn20261003-1.dsc
ae1541a8bc84894e67dd6d70b13d7a8f 2581848 devel optional aspectc++_2.5+svn20261003.orig.tar.xz
db28b45133e63da676bc586c2185d2bf 13772 devel optional aspectc++_2.5+svn20261003-1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQJIBAEBCgAyFiEEMN59F2OrlFLH4IJQSadpd5QoJssFAmrCuTQUHHNpcmV0YXJ0
QHRhdXdhcmUuZGUACgkQSadpd5QoJstZEg/9GHUlyXJ3qCY/3m4crLxYogYgGhH+
lilo/u8cz84QgZ7GS0mETmeu+j0vIkJ4l9kzvfNzSP3oAZgmklqkYsgj8vg7JiYl
s0iGwCV2WpUl8FKaJsYQVIU7tAyQOyv1WgERK6HkYoIYTrLE4Ly6E5pzwNFYvgvF
/IhkcaMzRGbe73EOLb66SQMrSX5C46aRhnyj/ilt+F9mqYEVyKgjbhLEEqluGj7q
qt50HxUeRTYN59cfART7RxhYH0aXqAFvXHwpg/IpaVLHo66EE4/q4cgdMo4XlMTR
3rAy5Robry9fDK7sYJ7r/bhDCdWNGN/l5hDCoOnVdymDpdUs0hygtL6al8IoYggE
cTS4PwD2dO4qjA++MvSYaeoENy0S61zccvmtGjeEm/S//AtXq3XgC4/pekyW3P9Q
sNCbYRcpHXgQIVfcrLlvkj9XyWKdBZ638uR8vJvUAhDMyBypJI5Hifcq7oqtWobF
8jlB+Obc5geXEfZ9iv8C3NiTDlpgII8CDHTZyXZsOJvtzK7q+pSLqtfcn/c5hxau
bs/BKNgvcf98Epls57qvLRjsiDFKKIj3tsmnJYAXOIvUMPbLZ7XhGL2Vf94s21Ge
vEi54q5qvsyLXGsozqLB0gWbseW05A91Q5D/AG0BrJpSHeh7jw3yaNrxrhxPm1vu
+DzeJrHk3MwC3fE=
=6p4n
-----END PGP SIGNATURE-----