protocolbuffers / protocolbuffers/protobuf
"_upb_UnreachableFailure", Building wheel for protobuf (pyproject.toml) did not run successfully.
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 72k
- Forks
- 16.3k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 140
Description
What version of protobuf and what language are you using?
Version: last stable release 7.36.0
Language: Python
linux provides by Mageia 10
building with python 3.13.13, gcc 15.2.0, rpmbuild 4.20.1
What did you do?
using a rpmbuild spec file, I build last protobuf archive release (tazr.gz) with those macros :
%generate_buildrequires
%pyproject_buildrequires
%pyproject_wheel
What did you expect to see
complete building
What did you see instead?
building stops with a ld error :
/usr/bin/ld: build/temp.linux-x86_64-cpython-313/python/convert.o: in function `upb_FieldDef_TypeString':
/home/paul/rpmbuild/BUILD/python-protobuf-7.36.0-build/protobuf-7.36.0/python/convert.c:176:(.text+0x4c0): undefined reference to `_upb_UnreachableFailure'
/usr/bin/ld: build/temp.linux-x86_64-cpython-313/upb/message/compare.o: in function `upb_MessageValue_IsEqual':
/home/paul/rpmbuild/BUILD/python-protobuf-7.36.0-build/protobuf-7.36.0/upb/message/compare.h:70:(.text+0xb4a): undefined reference to `_upb_UnreachableFailure'
/usr/bin/ld: build/temp.linux-x86_64-cpython-313/upb/message/compare.o: in function `_upb_Extension_IsEmpty_dont_copy_me__upb_internal_use_only':
/home/paul/rpmbuild/BUILD/python-protobuf-7.36.0-build/protobuf-7.36.0/upb/message/internal/extension.h:71:(.text+0xb62): undefined reference to `_upb_UnreachableFailure'
/usr/bin/ld: build/temp.linux-x86_64-cpython-313/upb/message/compare.o: in function `_upb_Message_ExtensionsAreEqual':
/home/paul/rpmbuild/BUILD/python-protobuf-7.36.0-build/protobuf-7.36.0/upb/message/compare.c:162:(.text+0xb7a): undefined reference to `_upb_UnreachableFailure'
/usr/bin/ld: build/temp.linux-x86_64-cpython-313/upb/message/compare.o: in function `upb_MessageValue_IsEqual':
/home/paul/rpmbuild/BUILD/python-protobuf-7.36.0-build/protobuf-7.36.0/upb/message/compare.h:70:(.text+0xf19): undefined reference to `_upb_UnreachableFailure'
/usr/bin/ld: build/temp.linux-x86_64-cpython-313/upb/message/convert.o:/home/paul/rpmbuild/BUILD/python-protobuf-7.36.0-build/protobuf-7.36.0/upb/message/internal/extension.h:71: more undefined references to `_upb_UnreachableFailure' follow
Anything else we should know about your project / environment
pyproject_buildrequires confirms that all requirements are available
although pyproject_wheel claims for an absent external symbol `_upb_UnreachableFailure'
Contributor guide
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 reproducing the wheel build with the reported rpmbuild macros and inspect the undefined symbol references in python/convert.c, upb/message/compare.c, and upb/message/internal/extension.h. Trace where _upb_UnreachableFailure is expected to be provided during linking. Done means the protobuf 7.36.0 wheel builds successfully on the reported Python and Linux environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100