-
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
Drop support for Ubuntu 14.04 / 16.04 / CentOS 7 on Bazel@HEAD #13561
Comments
To increase the visibility, should this issue be rather transferred to bazel project? |
@davido Thanks! I transferred the issue to the Bazel project. |
I sent a mail to bazel-discuss@ to get feedback on this: https://groups.google.com/g/bazel-discuss/c/xXkCsFjosG8 |
TLDR: With Centos-7 you can have a recent gcc (9) with an "old" glibcxx while ubuntu pull the libstdc++ 3.4.28 You can have a gcc 9 on Centos 7 using this: It can be a good idea to keep centos-7 since it is the image used by manylinux2010 to build native python package (e.g. Google OR-Tools with our SWIG python wrapper (ed currently using the Make or CMake based build system since we don't have swig machinery in bazel yet)). And unfortunately Ubuntu ppa toolchain-r pull 3.4.28 -_-
note: ubuntu-toolchain-r seems to pull libstdc++ 28 -_- note: |
Thanks for your comments. Especially the pointer to CentOS 7 with gcc 9 toolchain. I have extracted a minimal CentOS 7 with gcc 9 toolchain Dockerfile: [1], created docker image from it and verified, that I can build Bazel with my PR included, where This brings us to another possible approach, that I tried to outline in another request: [2] WDYT? [1] https://github.com/davido/centos7-gcc-9-bazel-docker/blob/master/Dockerfile |
This implements the suggestion from bazelbuild/bazel#13561 (comment). I verified that the gcc on an interactive shell is now merely antiquated rather than totally obsolete: ``` $ docker run --rm -it ba4f33cb5da6 [root@95468bc7dbde /]# gcc --version gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) Copyright (C) 2019 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. ``` I hope modifying the shell's PATH will be enough to fix buildkite action running.
This is already fixed. We have dropped support for vanilla CentOS 7, instead we now build / test on CentOS 7 with devtoolset-10 (gcc version is 10.2.1). We no longer test on Ubuntu 14.04 and 16.04. |
Plan CentOS 7 support was dropped by Bazel bazelbuild/bazel#13561 Here we do the same and we just support CentOS 7 with gcc 10
Considering that Ubuntu 16.04 LTS is EOL now, it might be reasonable to drop support for Ubuntu 14.04 / 16.04 / CentOS 7 on Bazel's main branch.
One reason to discontinue support for outdated platforms, is that Bazel@HEAD cannot be built on modern platforms, like Fedora 34 rawhide (x86_64) that switched to
gcc
11.x toolchain (https://gcc.gnu.org/gcc-11/), see #12702.The attempt to bump transitive dependencies in Bazel for
gRPC
andabsl
caused the build to fail on outdated CentOS 7 platform due to outdated 4.8.5 C++ compiler toolchain:See CI breakages for this PR: #13536.
The text was updated successfully, but these errors were encountered: