-
Notifications
You must be signed in to change notification settings - Fork 445
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
Use Abseil system includes #4511
Conversation
@fruffy maybe you're having abseil installed globally? Bazel explicitly does on CI:
So, you can only use |
I do not have libabseil-dev installed, but it turns out to be some old caching. I do not exactly understand what Abseil does differently from Protobuf that prohibits angle-bracketed includes. Will use this PR as a scratchpad to see whether I can patch Abseil appropriately to support angle-bracketed includes. |
04c3869
to
38780f8
Compare
38780f8
to
1229caf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just for my understanding, what's the motivation here? Are angled brackets what's generally preferred in OSS for depending on other libraries?
abseil/abseil-cpp#740 provides some rationale. There are also arch or nix users who want to supply their own abseil/protobuf system packages. |
@fruffy, this PR is causing some trouble for upstream users. Specifically, imagine an upstream user X depends on both Do we really want to require all users (and their transitive dependents) to patch their abseil versions? I didn't realize this had such a big blast radius when I approved. Would it be possible to revert this PR and think about a better solution? |
This is for open-source Bazel users, right? Which repository is affected by this change? I do not really see a good way to solve this. I think it might be better to lobby the Abseil maintainers to fix the way they export their includes. |
Yes, correct. Off the top of my head, at least http://github.com/p4lang/p4-constraints and https://github.com/sonic-net/sonic-pins, though I suspect there are others.
Agreed, let's definitely do this. However, we probablyu also need some short term solution here, because we don't if and when the above will converge. Could this PR be rolled back in the meantime? |
This also seems like a big limitation in Bazel, how do you consolidate dependencies there if two repositories require a different version of the same dependency? |
Partially addresses #4523. Try to patch Abseil.