pybind / pybind/pybind11_protobuf
Unable to use without proto_api despite `enable_pyproto_api_setting` unset
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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