bazelbuild/bazel

Cannot build bazel with gcc 7

Closed this issue · 3 comments

After upgrading one of my systems with gcc 7, i cannot build bazel master (80a34dc) any more:

$ bazel build src:bazel
INFO: Found 1 target...
INFO: From SkylarkAction external/googleapis/google_bytestream_bytestream_java_grpc_srcs.jar:
google/bytestream/bytestream.proto: warning: Import google/protobuf/wrappers.proto but not used.
INFO: From SkylarkAction external/googleapis/google_watch_v1_java_grpc_srcs.jar:
google/watcher/v1/watch.proto: warning: Import google/protobuf/empty.proto but not used.
INFO: From Generating Java (Immutable) proto_library @googleapis//:google_bytestream_bytestream_proto:
google/bytestream/bytestream.proto: warning: Import google/protobuf/wrappers.proto but not used.
INFO: From Generating Java (Immutable) proto_library @googleapis//:google_watch_v1_proto:
google/watcher/v1/watch.proto: warning: Import google/protobuf/empty.proto but not used.
INFO: From Generating Java (Immutable) proto_library @googleapis//:google_devtools_build_v1_build_events_proto:
google/devtools/build/v1/build_events.proto: warning: Import google/rpc/status.proto but not used.
ERROR: /home/davido/projects/bazel/src/tools/singlejar/BUILD:43:1: C++ compilation of rule '//src/tools/singlejar:singlejar' failed (Exit 1).
In file included from ./src/tools/singlejar/output_jar.h:26:0,
                 from src/tools/singlejar/singlejar_main.cc:16:
./src/tools/singlejar/combiners.h:152:40: error: expected ')' before '<' token
   Java8DesugarDepsChecker(std::function<bool(const std::string &)> known_member,
                                        ^
./src/tools/singlejar/combiners.h:162:40: error: expected ')' before '<' token
   Java8DesugarDepsChecker(std::function<bool(const std::string &)> known_member,
                                        ^
./src/tools/singlejar/combiners.h:173:14: error: 'function' in namespace 'std' does not name a template type
   const std::function<bool(const std::string &)> known_member_;
              ^~~~~~~~
./src/tools/singlejar/combiners.h:174:14: warning: non-static const member 'const bool Java8DesugarDepsChecker::verbose_' in class without a constructor [-Wuninitialized]
   const bool verbose_;
              ^~~~~~~~
./src/tools/singlejar/combiners.h:175:14: warning: non-static const member 'const bool Java8DesugarDepsChecker::fail_on_error_' in class without a constructor [-Wuninitialized]
   const bool fail_on_error_;  // For testing
              ^~~~~~~~~~~~~~
Target //src:bazel failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 245.808s, Critical Path: 29.50s

I used the latest released Bazel version:

$ bazel info release
release 0.6.1

GCC version:

$ gcc --version
gcc (SUSE Linux) 7.2.1 20170901 [gcc-7-branch revision 251580]

Looks like db1426b fixed this.

Indeed, works now on gcc (SUSE Linux) 7.2.1 20171020 [gcc-7-branch revision 253932] :

$ bazel build src:bazel
.
INFO: Found 1 target...
INFO: From Executing genrule //src/java_tools/junitrunner/java/com/google/testing/coverage:Jacoco_jarjar:
Oct 29, 2017 12:17:04 PM com.tonicsystems.jarjar.transform.JarTransformer transform
INFO: Transforming archive ZipArchive(/home/davido/.cache/bazel/_bazel_davido/0fa756dec521553dbe2dde6b6eac99b4/bazel-sandbox/5400832342732257631/execroot/io_bazel/bazel-out/local-fastbuild/bin/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage_deploy.jar)
INFO: From Generating Java (Immutable) proto_library @googleapis//:google_watch_v1_proto:
google/watcher/v1/watch.proto: warning: Import google/protobuf/empty.proto but not used.
INFO: From Generating Java (Immutable) proto_library @googleapis//:google_devtools_build_v1_build_events_proto:
google/devtools/build/v1/build_events.proto: warning: Import google/rpc/status.proto but not used.
INFO: From SkylarkAction external/googleapis/google_watch_v1_java_grpc_srcs.jar:
google/watcher/v1/watch.proto: warning: Import google/protobuf/empty.proto but not used.
INFO: From Generating Java (Immutable) proto_library @googleapis//:google_bytestream_bytestream_proto:
google/bytestream/bytestream.proto: warning: Import google/protobuf/wrappers.proto but not used.
INFO: From SkylarkAction external/googleapis/google_bytestream_bytestream_java_grpc_srcs.jar:
google/bytestream/bytestream.proto: warning: Import google/protobuf/wrappers.proto but not used.
Target //src:bazel up-to-date:
  bazel-bin/src/bazel
INFO: Elapsed time: 238.304s, Critical Path: 36.43s