I am trying to upgrade multiple machines to all use the same, more recent version of Google's protobuf library and compiler. I am currently on version 2.3.0 and want to upgrade to at least 2.4.1.
The problem is that when attempting to upgrade, I have packages which depend on protobuf and more specifically, seem to depend on the underlying library which the protobuf-2.3.0 RPM provides, "libprotobuf.so.6".
It appears as if that "6" is the issue, because yum is recognizing that by upgrading to the protobuf-2.4.1 package that library will be gone in favor of "libprotobuf.so.7". See following error:
---> Package protobuf.x86_64 0:2.3.0-7.el6 will be updated
--> Processing Dependency: libprotobuf.so.6()(64bit) for package: MYPACKAGE-1.1.1-1.el6.x86_64
...
---> Package protobuf.x86_64 1:2.4.1-1 will be an update
...
Error: Package: MYPACKAGE-1.1.1-1.el6.x86_64 (@my-repo)
Requires: libprotobuf.so.6()(64bit)
Removing: protobuf-2.3.0-7.el6.x86_64 (@epel)
libprotobuf.so.6()(64bit)
Updated By: 1:protobuf-2.4.1-1.x86_64 (my-repo)
Not found
I understand what it's saying, I think. It can't find that library. But I don't want it to, as protobuf-2.4.1 contains "libprotobuf.so.7", as expected, and that's the library I want.
Is it wrong that protobuf-2.3.0 included a version number on the soname? This package came from the epel repo so I trust it was following convention, but I don't see how to upgrade now.
Is there a way around this? How can I ever upgrade my protobuf version with the requirement in place?