#90 python3-protobuf missing from RHEL/CentOS 8
Closed: Fixed 2 years ago by smooge. Opened 2 years ago by denisarnaud.

protobuf normally generates, among other sub-packages, protobuf-devel and protobuf-compiler.
Those latter are however missing from RHEL/CentOS 8, even with EPEL enabled:

$ sudo dnf search protobuf
Last metadata expiration check: 1:29:52 ago on Sat 26 Oct 2019 05:48:02 PM CEST.
protobuf.x86_64 : Protocol Buffers - Google's data interchange format
protobuf-c.x86_64 : C bindings for Google's Protocol Buffers
protobuf-lite.x86_64 : Protocol Buffers LITE_RUNTIME libraries

Quite a few other sub-packages are missing too (e.g., protobuf-lie-devel, python3-protobuf, protobuf-vim, protobuf-java).

And it does not appear that the epel8 branch can be added to the protobuf source code on Pagure:

$ fedpkg request-branch epel8
Could not execute request_branch: This package is already an EL package and is built on all supported arches, therefore, it cannot be in EPEL. If this is a mistake or you have an exception, please contact the Release Engineering team.

Could you deliver the missing protobuf sub-packages for RHEL/CentOS 8?


Kind regards


Hi Denis

Thanks for opening these, but I think this is again the 'PowerTools is not enabled' problem. Looking at PowerTools in CentOS-8 I see:


Does that cover the packages you needed?

Thanks Stephen, yes that's perfect!

For the record (as I may not be the only one wondering on how to get those packages):

$ sudo dnf config-manager --set-enabled PowerTools
$ sudo  dnf -y install protobuf-devel protobuf-compiler

Would you know, by the way, how to reference (with BuildRequires) those packages from within the EPEL 8 RPM spec file?

Metadata Update from @denisarnaud:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Hm, I forgot about python3-protobuf (or it may be named protobuf-python3 on RHEL/CentOS 8)...
Would you know how to get my hands on the Python bindings for Protobuf?

On Fedora rawhide:

$ sudo dnf search protobuf|grep python
python3-protobuf.noarch : Python 3 bindings for Google Protocol Buffers

On CentOS 7:

$ sudo yum search protobuf|grep python
protobuf-python.x86_64 : Python bindings for Google Protocol Buffers

But on CentOS 8, even with PowerTools enabled:

$ sudo dnf search protobuf|grep python

Metadata Update from @denisarnaud:
- Issue status updated to: Open (was: Closed)

2 years ago

I would update the bugzilla to say that is what you are needing. The package is built out of the main-protobuf so would be hard to get into EPEL without rebuilding all the rest of the code.

Not really.. it would need to be in a different copr because it would replace packages shipped by Red Hat or CentOS.

I'm still missing protobuf-lite-devel.

(Not an EPEL issue, but mentioning it here since other packages were mentioned here as well.)

Opened a bug to have this addressed in RHEL 8/CentOS 8:

python3-protobuf and protobuf-lite-devel are now available in EPEL8.
Please build your packages.
I believe this issue can be closed.

Metadata Update from @smooge:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago
# This should work for devel repo
name=CentOS-$releasever - Devel

Note1: The above information is for mock/copr/local builds. You do not have to do anything to build in EPEL8.

Note2: The solution isn't perfect. The biggest problem is that there are no s390x packages. But we figured it was better than no -devel packages at all.
Workaround: In your EPEL8 rpm specs you will have to use ExcludeArch, ExclusiveArch, %ifarch, or %ifnarch so that your builds do not build on s390x, or skip that library for s390x.
Example: Put the following line in your spec file.
ExcludeArch: s390x


Indeed, if you edit /etc/yum.repos.d/CentOS-Devel.repo to switch the enabled flag to 1 (the repository name is explicitly cluttered to avoid use by chance, so dnf --enablerepo=CentOS-Devel does not work), then the following works: dnf -y install python3-protobuf.

Also note that the current version of Python is 3.6.8. Note sure whether newer stable versions (e.g., 3.8.2) will make their way into CentOS 8.

Thanks again for that great work!

Login to comment on this ticket.