I want to install this rpm (of course I can install it with -nodeps but I don't like this "solution").

LANG=C rpm -Uvh /home/pippiripi/rpmbuild/RPMS/x86_64/oracle-fdw-27012018git-1.el7.centos.x86_64.rpm 
error: Failed dependencies:
    libclntsh.so.12.1()(64bit) is needed by oracle-fdw-27012018git-1.el7.centos.x86_64

Of course libclntsh.so.12.1 is on the system:

ldconfig -p|grep libclntsh.so.12.1
    libclntsh.so.12.1 (libc6,x86-64) => /usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1

And its rpm is installed:

rpm -qf /usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1

The library is 64bit

 file /usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1
/usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=068dc0a57c8b0310180f2a659b71de4115ba9020, not stripped


  • What happens if you run rpm -q --provides oracle-instantclient12.2-basic? Jan 27, 2018 at 4:40

2 Answers 2


The problem appears to be that the "instant client" package doesn't list the libraries as Provides: at all.

This has been depressingly common with proprietary packages but then, to be fair, it's not installing those libraries in the usual location, and it would in most cases be misleading to Provides: them anyway.

Your best solution is probably to disable automatic requires / provides processing in the .spec for your fdw package and manually add Requires: and BuildRequires: listing the "instant client" packages (>= whatever version you build against, I guess).


the library that is installed on your system is the 32-bit version. You are trying to install a 64bit rpm (which you can see in the name: oracle-fdw-27012018git-1.el7.centos.x86_64.rpm ), which requires the 64bit version of the same library. The dependency is not simply libclntsh.so.12.1 but libclntsh.so.12.1()(64bit) .

so either find a 32bit version of oracle-fdw; either you should install the 64bit version of oracle-instantclient12.2-basic.

EDIT : you should search a package that provides libclntsh.so.12.1()(64bit). Apparently your version of oracle-instantclient12.2-basic does not. To check on your system: rpm -q --whatprovides "libclntsh.so.12.1()(64bit)" which probably won't yield anything... so you have to search for an rpm that provides that. Best use a package manager such as yum or zypper who will manage those dependencies for you.

  • OP states in the question that oracle-instantclient12.2-basic- is installed. Jan 29, 2018 at 10:19
  • @WillCrawford you are right, I appended more information in my answer on how to try to solve the problem.
    – Chris Maes
    Jan 29, 2018 at 11:42
  • The library is 64bit,I edit my question
    – elbarna
    Jan 29, 2018 at 16:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .