Ask Your Question
0

RPM Missing dependency

asked 2012-10-09 21:36:08 -0600

Bill gravatar image

updated 2014-09-30 11:14:04 -0600

mether gravatar image

I am creating a RPM which has the following shared objects:

libexample.so --> libexample.so.1.0.1
libexample.so.1.0.1

When I am creating the RPM using rpmbuild, I see the rpm provides libexample.so.1.0.1. But, in the require section I see libexample.so

In the makefile of the project I refer libexample.so

When I am trying to install the rpm it gives an error "Missing dependency: libexample.so" even though it is packaged as a link file pointing to

libexample.so.1.0.1

So the problem is somehow RPM is not considering that I am packaging libexample.so (which is a link to libexample.so.1.0.1)

However, I installed the rpm using --nodeps option and everything is working fine.

So, my question is how should I modify to avoid getting the error of missing dependency.

To validate that the missing dependency is due to the link file, I changed libexample.so from a link file to an actual shared object (cp libexample.so.1.0.1 libexample.so) and rpm does not giving the missing dependency error.

Can someone please help to tell me what I am missing and how to fix this missing dependency error in RPM. Thanks a lot in advance for your help and time.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2012-10-11 00:12:38 -0600

Remi gravatar image

You should not refer to libexample.so (this should be only provided in the -devel package, and is not required at runtime)

RPM automatic dependency will use the soname of the library.

See the output of objdump of the library.

objdump -p libexample-1.0.1

SONAME give you what is provided, NEEDED give you what is required

edit flag offensive delete link more

Question Tools

Stats

Asked: 2012-10-09 21:36:08 -0600

Seen: 516 times

Last updated: Oct 11 '12