Skip to content
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

-Dprotobuf_ABSL_PROVIDER="package" not fully functional yet #11828

Closed
h-vetinari opened this issue Feb 7, 2023 · 6 comments
Closed

-Dprotobuf_ABSL_PROVIDER="package" not fully functional yet #11828

h-vetinari opened this issue Feb 7, 2023 · 6 comments

Comments

@h-vetinari
Copy link
Contributor

h-vetinari commented Feb 7, 2023

Between 21.12 and 22.0, protobuf gained a dependence on abseil, including a possibility to use -Dprotobuf_ABSL_PROVIDER="package".

However, adding that to a CMake build invocation does not yet work (from conda-forge/libprotobuf-feedstock#144):

CMake Error at cmake/libprotobuf-lite.cmake:26 (target_link_libraries):
  Target "libprotobuf-lite" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

Presumably some places need a find_package(absl REQUIRED) behind an if-statement.

@h-vetinari h-vetinari added the untriaged auto added to all issues by default when created. label Feb 7, 2023
@fowles fowles added c++ packaging & distribution and removed untriaged auto added to all issues by default when created. labels Feb 7, 2023
@mkruskal-google
Copy link
Member

This sounds like you have an older version of Abseil installed on your machine. We require at least https://github.com/abseil/abseil-cpp/releases/tag/20230125.0

@adamjstewart
Copy link

Where is this version requirement documented?

@mkruskal-google
Copy link
Member

Our protobuf_deps.bzl file is the SOT for our dependencies

@adamjstewart
Copy link

Does it have to be that exact commit or can it be a range of versions?

@mkruskal-google
Copy link
Member

That commit corresponds to the 20230125.2 release. Anything later than that is likely to work, but if it's not an LTS release then Abseil's cmake install will be disabled. This will result in our install setup being broken without some extra cmake flags to bypass it

@adamjstewart
Copy link

This "protobuf only supports one version of abseil-cpp" thing is getting tricky to manage. The latest release of onnxruntime requires protobuf, but it also requires abseil-cpp 20240116.0+. But the latest release of protobuf requires abseil-cpp 20230802.1. Does that mean that it isn't possible to install the latest version of onnxruntime? Or that everyone should just figure out their own range of compatible versions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants