1

I'm trying to resolve a library dependency issue with a few packages (our code). We have one package, let's say package A, which has a dependency on two libraries provided by package B.

Package A's Cmake files have gone through some heavy modifications so I can't rule them out as the cause of the problem, but package B is unchanged. Package B provides two .so files needed by package A. Package A uses CPACK_RPM_PACKAGE_REQUIRES to designate package B as a dependency.

Both packages are provided via separate yum repos on a network device. But when I try to install package A, I get an error saying:

Error:
  Problem: conflicting requests
    - nothing provides libABC.so()(64bit) needed by package_a
    - nothing provides libXYZ.so()(64bit) needed by package_b

There's nothing wrong with the build of package B, and I've confirmed package B has the libraries needed.

I've looked through the CMake files and nothing is different about the way the libraries are included as dependencies. I thought it might be the repo metadata but using yum info confirms they're available. And when I use rpm -qf on the libraries themselves, it identifies the correct package as the provider.

Any suggestions as to what may be missing? I can try to provide more info if needed but I'm hoping it's something obvious.

EDIT: After a closer look at the package B RPM, it seems package A "requires" those SO files, but package B does not "provide" them, it just installs them. However, this was not an issue in the past, so something must have changed in the way the CMakeLists files setup this dependency in package A.

0

You must log in to answer this question.

Browse other questions tagged .