Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raise c++ compiler baseline #1167

Closed
davido opened this issue May 31, 2021 · 4 comments
Closed

Raise c++ compiler baseline #1167

davido opened this issue May 31, 2021 · 4 comments

Comments

@davido
Copy link
Contributor

davido commented May 31, 2021

Trying to upgrade gRPC to 1.3.8:[1] to fix building Bazel itself on gcc 11 (now default on Fedora Rawhide 34), we are running in this issue: [2]

external/com_google_absl/absl/time/internal/cctz/include/cctz/civil_time_detail.h:26:5: warning: "__cpp_constexpr" is not defined [-Wundef]
 #if __cpp_constexpr >= 201304 || (defined(_MSC_VER) && _MSC_VER >= 1910)
     ^
(20:52:47) ERROR: /var/lib/buildkite-agent/.cache/bazel/_bazel_buildkite-agent/ec321eb2cc2d0f8f91b676b6d4c66c29/external/com_github_grpc_grpc/BUILD:3481:16: Compiling src/core/ext/upb-generated/google/protobuf/timestamp.upb.c [for host] failed: (Exit 1): gcc failed: error executing command

Looking into the related docker image, gcc is totally outdated:

  $ docker run -it gcr.io/bazel-public/centos7-java8:latest /bin/bash
  $ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Raise the baseline and remove outdated toolchains.

Possibly related: [3].

[1] bazelbuild/bazel#13536
[2] https://buildkite.com/bazel/bazel-bazel-github-presubmit/builds/8847#f244407a-e587-456e-9882-1632034dd773
[3] grpc/grpc#26121

@davido davido changed the title Raise c++ compile baseline Raise c++ compiler baseline May 31, 2021
@philwo
Copy link
Member

philwo commented Jun 7, 2021

@davido We cannot upgrade the gcc compiler on this platform. CentOS 7 ships this version of gcc so we have to deal with it - we are (purposefully) always using and testing with the default toolchains provided by the distributions that we support to ensure that Bazel can be built and works out of the box on these systems.

@davido
Copy link
Contributor Author

davido commented Jun 7, 2021

@philwo

We cannot upgrade the gcc compiler on this platform.

Thanks for clarifying. Remove the outdated platforms, then?

But anyway, this could be handled in another issue.

@davido davido closed this as completed Jun 7, 2021
@philwo
Copy link
Member

philwo commented Jun 7, 2021

Remove the outdated platforms, then?

I'm always happy if we can remove support for old platforms, because then we can move to more modern tools, reduce infrastructure complexity, etc.

On the other hand we don't want to remove support for something that's still important for our users. :( As we don't have telemetry, it's very difficult to get clear signal on which platforms are still important and which aren't.

Considering that Ubuntu 16.04 LTS is now also EOL, it might be reasonable to drop support for Ubuntu 14.04 / 16.04 / CentOS 7 on Bazel's master branch. Looking forward to discuss - do you want to file an issue to propose this?

@davido
Copy link
Contributor Author

davido commented Jun 7, 2021

Looking forward to discuss - do you want to file an issue to propose this?

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants