Removing support for old Linux distributions?

175 views
Skip to first unread message

Philipp Wollermann

unread,
Jun 8, 2021, 4:44:18 AM6/8/21
to bazel-discuss
Hi Bazel users,

We recently got the feedback from a user that it's difficult to bump certain dependencies of Bazel like gRPC and Abseil to newer versions, because these versions cannot be compiled on older Linux distributions like CentOS 7 due to it including a rather old gcc version. OTOH newer Linux distributions like Fedora 34 cannot build the old dependency versions, as they use stricter compilers.

In order to break this tie and unblock the upgrades, I'm considering removing support for CentOS 7 and Ubuntu 16.04 from Bazel's master branch. We would use the newly freed resources to instead test on more modern Linux distribution versions like the latest Fedora, Ubuntu 21.04 or Debian.

What would this mean for our supported operating systems?
- Bazel 4.x LTS would of course continue to support and be tested on CentOS 7 to ensure we don't accidentally break anyone using these platforms.
- Bazel HEAD, our new rolling releases and a future Bazel 5.x release would no longer be tested on CentOS 7 and Ubuntu 16.04 and thus potentially not work on these platforms.


Any feedback and thoughts on this are welcome. :)

Cheers,
Philipp

--
Philipp Wollermann | Software Engineer | phi...@google.com
Google Germany GmbH | Erika-Mann-Straße 33 | 80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

Andrew Allen

unread,
Jun 9, 2021, 2:49:08 AM6/9/21
to Philipp Wollermann, bazel-discuss
I'm strongly in favor of this. Old toolchains are very taxing.

On Tue, Jun 8, 2021 at 2:44 AM 'Philipp Wollermann' via bazel-discuss <bazel-...@googlegroups.com> wrote:
Hi Bazel users,

We recently got the feedback from a user that it's difficult to bump certain dependencies of Bazel like gRPC and Abseil to newer versions, because these versions cannot be compiled on older Linux distributions like CentOS 7 due to it including a rather old gcc version. OTOH newer Linux distributions like Fedora 34 cannot build the old dependency versions, as they use stricter compilers.

In order to break this tie and unblock the upgrades, I'm considering removing support for CentOS 7 and Ubuntu 16.04 from Bazel's master branch.

Ubuntu 16.04 was end of life'd in April of 2019, more than 2 years ago.
CentOS 7 was EOL'd in Q4 2020.

Organizations on these systems should already be in the process of upgrading and are hopefully nearing completion.

We would use the newly freed resources to instead test on more modern Linux distribution versions like the latest Fedora, Ubuntu 21.04 or Debian.

What would this mean for our supported operating systems?
- Bazel 4.x LTS would of course continue to support and be tested on CentOS 7 to ensure we don't accidentally break anyone using these platforms.
- Bazel HEAD, our new rolling releases and a future Bazel 5.x release would no longer be tested on CentOS 7 and Ubuntu 16.04 and thus potentially not work on these platforms.


Any feedback and thoughts on this are welcome. :)

Cheers,
Philipp

--
Philipp Wollermann | Software Engineer | phi...@google.com
Google Germany GmbH | Erika-Mann-Straße 33 | 80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-discuss/CA%2BAhZoi1d0jhhg-7AwUHf7rD%3D6%2BayUkLozAAvqeTCV8R%3DCdeig%40mail.gmail.com.

Daniel Halperin

unread,
Jun 9, 2021, 5:05:52 PM6/9/21
to Andrew Allen, Philipp Wollermann, bazel-discuss
On Tue, Jun 8, 2021 at 11:49 PM Andrew Allen <m...@andrewzallen.com> wrote:
I'm strongly in favor of this. Old toolchains are very taxing.

On Tue, Jun 8, 2021 at 2:44 AM 'Philipp Wollermann' via bazel-discuss <bazel-...@googlegroups.com> wrote:
Hi Bazel users,

We recently got the feedback from a user that it's difficult to bump certain dependencies of Bazel like gRPC and Abseil to newer versions, because these versions cannot be compiled on older Linux distributions like CentOS 7 due to it including a rather old gcc version. OTOH newer Linux distributions like Fedora 34 cannot build the old dependency versions, as they use stricter compilers.

In order to break this tie and unblock the upgrades, I'm considering removing support for CentOS 7 and Ubuntu 16.04 from Bazel's master branch.

Ubuntu 16.04 was end of life'd in April of 2019, more than 2 years ago.
CentOS 7 was EOL'd in Q4 2020.

Agree on sentiment.

Minor clarification in case it matters: Ubuntu 16.04 is still alive; it will EOL in 2023. It just hit "end of support" in April 2021. That same figure, but with actual dates, is here: https://wiki.ubuntu.com/Releases

My suggested policy might be that a new major version / eventual LTS will only commit to supporting the latest LTS of toolchains/distributions/etc. So as Ubuntu 20.04 is the current LTS, that's the one to pick.

Dan
 

Organizations on these systems should already be in the process of upgrading and are hopefully nearing completion.

We would use the newly freed resources to instead test on more modern Linux distribution versions like the latest Fedora, Ubuntu 21.04 or Debian.

What would this mean for our supported operating systems?
- Bazel 4.x LTS would of course continue to support and be tested on CentOS 7 to ensure we don't accidentally break anyone using these platforms.
- Bazel HEAD, our new rolling releases and a future Bazel 5.x release would no longer be tested on CentOS 7 and Ubuntu 16.04 and thus potentially not work on these platforms.


Any feedback and thoughts on this are welcome. :)

Cheers,
Philipp

--
Philipp Wollermann | Software Engineer | phi...@google.com
Google Germany GmbH | Erika-Mann-Straße 33 | 80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-discuss/CA%2BAhZoi1d0jhhg-7AwUHf7rD%3D6%2BayUkLozAAvqeTCV8R%3DCdeig%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.

Steven Bergsieker

unread,
Jun 9, 2021, 5:25:20 PM6/9/21
to Daniel Halperin, Andrew Allen, Philipp Wollermann, bazel-discuss
On Wed, Jun 9, 2021 at 5:05 PM Daniel Halperin <dan...@halper.in> wrote:
On Tue, Jun 8, 2021 at 11:49 PM Andrew Allen <m...@andrewzallen.com> wrote:
I'm strongly in favor of this. Old toolchains are very taxing.

On Tue, Jun 8, 2021 at 2:44 AM 'Philipp Wollermann' via bazel-discuss <bazel-...@googlegroups.com> wrote:
Hi Bazel users,

We recently got the feedback from a user that it's difficult to bump certain dependencies of Bazel like gRPC and Abseil to newer versions, because these versions cannot be compiled on older Linux distributions like CentOS 7 due to it including a rather old gcc version. OTOH newer Linux distributions like Fedora 34 cannot build the old dependency versions, as they use stricter compilers.

In order to break this tie and unblock the upgrades, I'm considering removing support for CentOS 7 and Ubuntu 16.04 from Bazel's master branch.

Ubuntu 16.04 was end of life'd in April of 2019, more than 2 years ago.
CentOS 7 was EOL'd in Q4 2020.

Agree on sentiment.

Minor clarification in case it matters: Ubuntu 16.04 is still alive; it will EOL in 2023. It just hit "end of support" in April 2021. That same figure, but with actual dates, is here: https://wiki.ubuntu.com/Releases

I agree with the general principle, I'd just draw the cut-off at "16.04 and up." We (RBE) still have significant usage on Ubuntu 16.04.
 

Mathias De Maré

unread,
Jun 9, 2021, 5:57:39 PM6/9/21
to bazel-discuss
On Wednesday, June 9, 2021 at 8:49:08 AM UTC+2 Andrew Allen wrote:
Ubuntu 16.04 was end of life'd in April of 2019, more than 2 years ago.
CentOS 7 was EOL'd in Q4 2020.
This is not quite correct. As your link states, CentOS 7 still receives maintenance updates until 2024.

Organizations on these systems should already be in the process of upgrading and are hopefully nearing completion.
Also as per the above link, CentOS 8 (to which migration would normally happen) is only supported until 2021. Given the whole CentOS/CentOS Stream discussion and new distributions like RockyLinux popping up, the upgrade path from CentOS 7 is (in my opinion) quite unclear at the moment.

At least for our organization, this means we are still a long way from completing any migration.
If CentOS 7 is no longer supported by Bazel, we will probably need to stay on the 4.x LTS release for quite some time.

Greetings,
Mathias De Maré

Konstantin

unread,
Jun 13, 2021, 12:18:42 PM6/13/21
to bazel-discuss
I have to second what  Mathias said about Centos 7. For our company (Salesforce) upgrade path from Centos 7 is unclear and far from even being started. Dropping Centos 7 from Bazel 5.x would present a big problem for us.

Thank you!
Konstantin

Philipp Wollermann

unread,
Jun 14, 2021, 11:27:35 AM6/14/21
to Konstantin, bazel-discuss
Thank you all for the input here! This is very helpful and important for me.

I like the idea that Mizux proposed on the GitHub issue: https://github.com/bazelbuild/bazel/issues/13561#issuecomment-857451517

We might be able to create a CentOS 7 based container that has a newer gcc version and use it to build Bazel's Linux binaries. This should allow us to build Bazel binaries that are still compatible with CentOS 7, Ubuntu 16.04 and higher up to the latest distros, but still take advantage of newer third-party libraries that do not build with the old gcc version included in CentOS 7 by default.


--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages