Skip to content
New issue

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

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

Already on GitHub? # to your account

[note]: Can't move abseil-cpp beyond 20240116.* until bazel 6 is retired #2336

Open
hzeller opened this issue Jan 19, 2025 · 0 comments
Open

Comments

@hzeller
Copy link
Collaborator

hzeller commented Jan 19, 2025

This is mostly to document and keep track of the unfortunate fact that we're stuck on an older abseil-cpp 20240116.2, as newer absl won't compile with older versions of bazel: it only works starting from bazel 7 as they switched from googletest 1.14.0 to depend on googletest 1.15.0 that requires at least bazel 7.

Since we want to be compatible with all maintained bazel versions, we want to support Bazel 6 ... bazel 8. According to https://bazel.build/release this means we're stuck with the last version of abseil-cpp that supports bazel 6 till Dec 2025 (also on googletest 1.14.*).

This is documented in our MODULE.bazel:

verible/MODULE.bazel

Lines 18 to 23 in 3742532

# abseil-cpp and googletest can not be updated beyond the following currently,
# as newer googletest is not compatible with bazel 6 anymore, and abseil-cpp
# depends on it :( -- to support all active bazel's, we're stuck till EOL bazel6
bazel_dep(name = "googletest", version = "1.14.0.bcr.1", dev_dependency = True)
bazel_dep(name = "abseil-cpp", version = "20240116.2")

There is one caveat: we must assume that someone might use Verible as dependency that uses a newer version of abseil-cpp. So we also need to be compatible with later abseil-cpp even though our primary one is the older versions; entering the realm of #ifdef :)

We have shim-code that makes Verible compile with old and new abseil-cpp; most notably replacing a deprecated function call and including vlog_is_on.h as that became part of the public interface.

[ No action needed for users: anyone using verible should be able to compile with newer abseil-cpp. ]

This issue is to record all the things that needed to be done for the old/new compatibility, and serves as reference what to clean up once we are beyond December 2025 when we finally can switch to newer absl.

hzeller added a commit to hzeller/verible that referenced this issue Jan 19, 2025
Essentially, allow to compile with newer abseil-cpp even though
we have to stay on an older version to honor older bazel versions.

Issues: chipsalliance#2336
@hzeller hzeller changed the title [note]: Can't move on beyond abseil-cpp beyond 20240116.* until bazel 6 is retired [note]: Can't move abseil-cpp beyond 20240116.* until bazel 6 is retired Jan 19, 2025
hzeller added a commit to hzeller/verible that referenced this issue Jan 21, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant