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

Find Workaround to Use Protobuf>=3.20 #15

Closed
mdemoret-nv opened this issue Jun 8, 2022 · 0 comments · Fixed by #17
Closed

Find Workaround to Use Protobuf>=3.20 #15

mdemoret-nv opened this issue Jun 8, 2022 · 0 comments · Fixed by #17
Assignees
Labels
bug Something isn't working

Comments

@mdemoret-nv
Copy link
Contributor

We are currently running into an issue with libprotobuf>=3.20. Due to a change in their header files, you can get the following error if using a debug build:

ImportError: ./build/protos/libsrf_architect_protos.so: undefined symbol: _ZN6google8protobuf8internal16InternalMetadataD1Ev

The specific commit that caused the issue is here: https://github.com/protocolbuffers/protobuf/blame/3.20.x/src/google/protobuf/metadata_lite.h#L73-L81.

Others have reported the issue here, protocolbuffers/protobuf#9947, but it was closed as wont fix. We currently get around this issue by using version 3.19 but since cudf will require libprotobuf>=3.20 in version 22.06 we need to figure out a way around this. Current options:

  1. The conda-build compiler packages get updated to not use that flag. There is an issue for that here
  2. The conda-forge package of libprotobuf gets updated to include debug binaries as well as release so you link to the proper one depending on NDEBUG
    1. We would probably need to do this ourselves
  3. We wrap all of our #include <anything_protobuf> in a separate header which #define NDEBUG; #include <protobuf>; #undef NDEBUG. UGLY but it would work.
  4. Similar to option 3, we do:
#pragma GCC visibility push("default")
#include <protobuf>
#pragma GCC visiblity pop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant