3

We are installing a custom rpm which we built using rpmbuild. During the install it fails with a dependency on specific file, in our case specifically libnvidia-ml.so.1:

 Requires: libnvidia-ml.so.1()(64bit)

This is installed at /usr/lib64 but not through the package manager, which cannot change. Is there a way to tell yum where to find this file?

I found nothing obvious in the manual, and LD_LIBRARY_PATH has no effect.

kabanus
  • 311
  • 1
  • 16

2 Answers2

4

Is there a way to tell yum where to find this file?

yum/dnf consults exclusively with your RPM database - there's no way to tell it to take external files into consideration.

Either package this library as an RPM and install it or install whatever you need to install using rpm --nodeps [packages]

Artem S. Tashkinov
  • 26,392
  • 4
  • 33
  • 64
1

UPDATE

Your best option would be to provide the .so-File by your custom-build package itself or add another custom-package which provides the shared library.


The following does not work, as available libraries seem to be stored in rpmdb too

In this particular case the dependency is not a file, it's a shared library. It should be possible to manually add the library.

  1. Ensure the path where you added your library is configured for ldconfig

    grep -R /usr/lib64 /etc/ld.so.*
    

    if not, choose a path which is configured, or add the path to the config.

  2. Run ldconfig to recreate the links and cache

    ldconfig -v
    

    you should see your shared library in the output.

Finally you should be able to install the package.

xx4h
  • 2,392
  • 16
  • 17