pybind / pybind/pybind11_protobuf

Unable to use without proto_api despite `enable_pyproto_api_setting` unset

Open
#127 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
67
Forks
37
PR merge metrics
No merged PRs in 30d

Description

I wanted to use this in an environment where the pyext for proto_api wasn't build/installed and as enable_pyproto_api_setting is disabled by default I assumed this would work.

However the build failed already due to an unconditional dependency on @com_google_protobuf//:proto_api and include of python/google/protobuf/proto_api.h

I made a couple changes such that it builds with the version TF 2.13.0 uses: https://github.com/Flamefire/pybind11_protobuf/commit/f49bc416cad082d9fb514d4f823f5f597ebffa2e

However on current main it seems to be much harder as now check_unknown_fields depends on that too which makes it look like it may not work that easily anymore.

Is there interest in getting this fixed/done? Any feedback on the feasibility of the above change/commit?

The usecase was to compile TensorFlow with a pre-installed protobuf to avoid conflicts when using potentially different versions in one environment.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the unconditional @com_google_protobuf//:proto_api dependency and the include of python/google/protobuf/proto_api.h. Then trace how check_unknown_fields depends on proto_api and compare the current main branch with commit f49bc416cad082d9fb514d4f823f5f597ebffa2e. Done means the project builds without the proto_api pyext when enable_pyproto_api_setting is disabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.