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

Matthias Klose doko at debian.org
Wed Mar 3 16:10:19 GMT 2021


Package: src:android-platform-system-tools-aidl
Version: 1:10.0.0+r36-3
Severity: normal
Tags: sid bookworm
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-11

[This bug is not targeted to the upcoming bullseye 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-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.

The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/android-platform-system-tools-aidl_10.0.0+r36-3_unstable_gcc11.log
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

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-11/porting_to.html

GCC 11 defaults to the GNU++17 standard.  If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.

[...]
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build --buildsystem=makefile -- --file debian/libaidl-common.mk
	make -j4 --file debian/libaidl-common.mk
make[2]: Entering directory '/<<PKGBUILDDIR>>'
flex -o aidl_language_l.cpp aidl_language_l.ll
clang++ aidl.cpp aidl_apicheck.cpp aidl_language.cpp aidl_typenames.cpp aidl_to_cpp.cpp aidl_to_java.cpp aidl_to_ndk.cpp ast_cpp.cpp ast_java.cpp code_writer.cpp generate_cpp.cpp aidl_to_cpp_common.cpp generate_ndk.cpp generate_java.cpp generate_java_binder.cpp generate_aidl_mappings.cpp import_resolver.cpp line_reader.cpp io_delegate.cpp options.cpp type_cpp.cpp type_java.cpp type_namespace.cpp aidl_language_l.cpp aidl_language_y.cpp -o libaidl-common.so.0 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -std=c++17 -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/android -I. -I -Wl,-z,relro -fPIC -shared -Wl,-soname,libaidl-common.so.0 -Wl,-rpath=/usr/lib/x86_64-linux-gnu/android -L/usr/lib/x86_64-linux-gnu/android -lbase -lcutils
generate_ndk.cpp:239:55: error: no template named 'optional' in namespace 'std'
                                           const std::optional<std::string> return_value_cached_to,
                                                 ~~~~~^
generate_ndk.cpp:457:26: error: no member named 'make_optional' in namespace 'std'
        cacheable ? std::make_optional<std::string>(kCacheVariable) : std::nullopt;
                    ~~~~~^
generate_ndk.cpp:457:51: error: expected '(' for function-style cast or type construction
        cacheable ? std::make_optional<std::string>(kCacheVariable) : std::nullopt;
                                       ~~~~~~~~~~~^
generate_ndk.cpp:457:76: error: no member named 'nullopt' in namespace 'std'
        cacheable ? std::make_optional<std::string>(kCacheVariable) : std::nullopt;
                                                                      ~~~~~^
4 errors generated.
generate_java.cpp:151:9: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
        .parcel = parcel_variable->name,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generate_java.cpp:150:16: note: previous initialization for field 'var' is here
        .var = field->GetName(),
               ^~~~~~~~~~~~~~~~
generate_java.cpp:199:9: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
        .parcel = parcel_variable->name,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generate_java.cpp:198:16: note: previous initialization for field 'var' is here
        .var = field->GetName(),
               ^~~~~~~~~~~~~~~~
2 warnings generated.
generate_java_binder.cpp:380:7: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
      .parcel = parcel->name,
      ^~~~~~~~~~~~~~~~~~~~~~
generate_java_binder.cpp:379:14: note: previous initialization for field 'var' is here
      .var = v->name,
             ^~~~~~~
generate_java_binder.cpp:454:38: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
                                     .parcel = transact_data->name,
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generate_java_binder.cpp:453:45: note: previous initialization for field 'var' is here
                                     .var = v->name,
                                            ^~~~~~~
generate_java_binder.cpp:710:36: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
                                   .parcel = _reply->name,
                                   ^~~~~~~~~~~~~~~~~~~~~~
generate_java_binder.cpp:709:43: note: previous initialization for field 'var' is here
                                   .var = _result->name,
                                          ^~~~~~~~~~~~~
generate_java_binder.cpp:726:38: warning: ISO C++ requires field designators to be specified in declaration order; field 'var' will be initialized after field 'parcel' [-Wreorder-init-list]
                                     .parcel = _reply->name,
                                     ^~~~~~~~~~~~~~~~~~~~~~
generate_java_binder.cpp:725:45: note: previous initialization for field 'var' is here
                                     .var = arg->GetName(),
                                            ^~~~~~~~~~~~~~
4 warnings generated.
make[2]: *** [debian/libaidl-common.mk:34: libaidl-common.so] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 --file debian/libaidl-common.mk returned exit code 2
make[1]: *** [debian/rules:10: libaidl-common.so] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
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