[Android-tools-devel] Bug#1096310: android-platform-system-tools-aidl: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:03:15 GMT 2025


Package: src:android-platform-system-tools-aidl
Version: 1:10.0.0+r36-4
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/android-platform-system-tools-aidl_10.0.0+r36-4_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1036 |       MethodDecl::IS_OVERRIDE | MethodDecl::IS_CONST | MethodDecl::IS_FINAL));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./ast_cpp.h:181:3: note: candidate constructor not viable: requires 3 arguments, but 4 were provided
  181 |   MethodDecl(const std::string& return_type,
      |   ^          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  182 |              const std::string& name,
      |              ~~~~~~~~~~~~~~~~~~~~~~~~
  183 |              ArgList&& arg_list);
      |              ~~~~~~~~~~~~~~~~~~
./ast_cpp.h:203:28: note: candidate constructor not viable: requires 1 argument, but 4 were provided
  203 |   DISALLOW_COPY_AND_ASSIGN(MethodDecl);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/include/android/android-base/macros.h:46:3: note: expanded from macro 'DISALLOW_COPY_AND_ASSIGN'
   46 |   TypeName(const TypeName&) = delete;      \
      |   ^        ~~~~~~~~~~~~~~~
12 errors generated.
generate_java.cpp:151:19: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
  151 |         .parcel = parcel_variable->name,
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
generate_java.cpp:150:16: note: previous initialization for field 'var' is here
  150 |         .var = field->GetName(),
      |                ^~~~~~~~~~~~~~~~
generate_java.cpp:199:19: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
  199 |         .parcel = parcel_variable->name,
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
generate_java.cpp:198:16: note: previous initialization for field 'var' is here
  198 |         .var = field->GetName(),
      |                ^~~~~~~~~~~~~~~~
2 warnings generated.
generate_java_binder.cpp:380:17: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
  380 |       .parcel = parcel->name,
      |       ~~~~~~~~~~^~~~~~~~~~~~
generate_java_binder.cpp:379:14: note: previous initialization for field 'var' is here
  379 |       .var = v->name,
      |              ^~~~~~~
generate_java_binder.cpp:454:48: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
  454 |                                      .parcel = transact_data->name,
      |                                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
generate_java_binder.cpp:453:45: note: previous initialization for field 'var' is here
  453 |                                      .var = v->name,
      |                                             ^~~~~~~
generate_java_binder.cpp:710:46: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
  710 |                                    .parcel = _reply->name,
      |                                    ~~~~~~~~~~^~~~~~~~~~~~
generate_java_binder.cpp:709:43: note: previous initialization for field 'var' is here
  709 |                                    .var = _result->name,
      |                                           ^~~~~~~~~~~~~
generate_java_binder.cpp:726:48: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
  726 |                                      .parcel = _reply->name,
      |                                      ~~~~~~~~~~^~~~~~~~~~~~
generate_java_binder.cpp:725:45: note: previous initialization for field 'var' is here
  725 |                                      .var = arg->GetName(),
      |                                             ^~~~~~~~~~~~~~
4 warnings generated.
options.cpp:143:20: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
  143 |   const char* argv[argc + 1];
      |                    ^~~~~~~~
options.cpp:143:20: note: read of non-const variable 'argc' is not allowed in a constant expression
options.cpp:139:7: note: declared here
  139 |   int argc = args.size();
      |       ^
1 warning generated.
make[2]: *** [debian/libaidl-common.mk:34: libaidl-common.so] Error 1
make[2]: Leaving directory '/build/reproducible-path/android-platform-system-tools-aidl-10.0.0+r36'
dh_auto_build: error: make -j8 --file debian/libaidl-common.mk returned exit code 2
make[1]: *** [debian/rules:10: libaidl-common.so] Error 25
make[1]: Leaving directory '/build/reproducible-path/android-platform-system-tools-aidl-10.0.0+r36'
make: *** [debian/rules:25: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Android-tools-devel mailing list