-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
bazel build is failing on gcc 11 #12702
Comments
cc @cushon |
It's failing in
|
same but for bazel@HEAD #12756 |
@comius can you please have a look at the issue that was raised in the 4.0 release bug? |
I don't have gcc11 to test this through. The problem stems from gcc11 requiring I'm happy to accept changes if somebody adds missing includes, submits PR to abseil, upgrades it in Bazel. Any idea when fedora/centos is going to include GCC 11? How critical is it that we patch Bazel LTS with it? |
gcc 11 doesn't reallly exist yet, right?
no sources in https://ftp.gnu.org/gnu/gcc/ How does one build GCC 11? |
Because it was closed, I opened this issue: #12756. Should we continue the discussion there? If you install upcoming Fedora Rawhide 34, then GCC is 11 and Bazel is failing to build. The issue is outdated Related: abseil/abseil-cpp#887 and grpc/grpc#25114. |
This change makes absl cpp library compatible with gcc 11 [1] in bazel compile. Related with : google-ai-edge#1889 [1] : bazelbuild/bazel#12702
sorry if this is not the right place to ask, but is it a way to configure bazel to use an older gcc version? in my system I have gcc10 and gcc11 being the later the default one |
The latest failure in Fedora 34 (gcc 11), in Bazel@HEAD (6ac57ca):
after fixing it with:
It's failing in
|
Fixes bazelbuild#12702. Also update transitive dependencies: o netty to 4.1.52 o netty-tcnative to 2.0.24 Change-Id: Iff6d300255b0c5a6732bb310ac99848ee75a45f6
Fixes bazelbuild#12702. Without this include the build is failing with: third_party/ijar/mapped_file_unix.cc: In constructor 'devtools_ijar::MappedOutputFile::MappedOutputFile(const char*, size_t)': third_party/ijar/mapped_file_unix.cc:115:21: error: 'numeric_limits' is not a member of 'std' 115 | std::numeric_limits<size_t>::max()); | ^~~~~~~~~~~~~~
Fixes bazelbuild#12702. Also update transitive dependencies: o netty to 4.1.52 o netty-tcnative to 2.0.24 Change-Id: Iff6d300255b0c5a6732bb310ac99848ee75a45f6
Fixes bazelbuild#12702. Also update transitive dependencies: o netty to 4.1.52 o netty-tcnative to 2.0.24 Change-Id: Iff6d300255b0c5a6732bb310ac99848ee75a45f6
I have created this docker repository as reproducer: [1]. Note, it includes bazel 4.1.0, but the build on gcc 11 is also failing on Bazel@HEAD.
|
After the upgrade to
I filed this issue to bump c++ compiler baseline and remove/upgrade outdated CI builders. |
the path is hardcoded here, in the toolchain
There's All in all, I believe it is not possible to just override 2 paths values (for Please share if you have something working before I do. Thanks! // sorry for offtop folks, I'd be happy to move this discussion elsewhere, just let me know UPDATE: what I ended up doing is simply hardcoding a different path for the cc toolchain in the bazel cache 🤦 It's a hack, but at least it unblocks the build of my scala + gRPC project after hours of headbanging 😃 To locate the file to edit I simply grepped entire bazel cache by string
|
We cannot easily upgrade gRPC to 1.38.0 if it breaks compatibility with the gcc version used by CentOS 7. Doing so would mean that Bazel has to drop support for this platform (= we no longer build, test or support CentOS 7 on Bazel CI then). This is particularly problematic for CentOS 7 as we use it as the default distribution to build our releases on, because its software is so old that the binaries that it generates work fine on old distributions like Ubuntu 14.04, too. Is there no way to support gRPC 1.38.0 without breaking backwards compatibility with gcc 4.8.5? If we have to do so, we have to make the conscious decision to drop support for older platforms. |
Oh, and of course we cannot drop support for CentOS 7 at all in Bazel's 4.x LTS branch, only in the |
Fails here too on Gentoo Linux with GCC11.1 over amd64 and arm64 |
Fails here as well on Centos Linux with GCC11.1.0 over arm64 |
I get exactly this issue building Bazel 4.2.2 on Slackware current x86_64, GCC 11.2.0 (" Building Bazel 6.0.0-pre.20211117.1, I get these errors (and many warnings):
|
The [fix](bazelbuild/bazel#12702) was available
Trying to build bazel on gcc 11:
GCC version:
The text was updated successfully, but these errors were encountered: