Red Hat Bugzilla – Bug 498311
Package unixODBC is missing shared library libodbcinst.so.1
Last modified: 2013-07-02 23:22:06 EDT
Description of problem:
The unixODBC driver manager cannot load the following drivers because of dependencies to the (missing) shared library libodbcinst.so.1:
-Oracle's own 64-bit ODBC driver for Oracle Database 11g 64-bit (libsqora.so.11.1)
-Easysoft's 64-bit ODBC Oracle driver (version 3.2.17)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install unixODBC-2.2.14-2.x86_64.rpm
2. Install either Oracle Database 11g (64-bit)
or Easysoft's 64-bit Oracle driver
3. Locate the library that contains the driver and run
Output from ldd contains the line
libodbcinst.so.1 => not found
Output from ldd does not contain any "not found" strings
Older unixODBC packages contain the file libodbcinst.so.1
Yes, it's libodbcinst.so.2 now. There are other ABI changes (some requested by Oracle themselves), so you're going to need to get an updated driver from Oracle before you can use it with 2.2.14. Sorry about that, but nothing I can do from here.
(In reply to comment #1)
> Yes, it's libodbcinst.so.2 now. There are other ABI changes (some requested by
> Oracle themselves), so you're going to need to get an updated driver from
> Oracle before you can use it with 2.2.14. Sorry about that, but nothing I can
> do from here.
Thanks for replying so quickly. :)
Hmmm, so Oracle is to blame in this case.
Maybe you could list this as a known problem (since it's not a bug) that the new unixODBC is not compatible with "old" Oracle drivers (or at least that there is a risk of running into problems)?
Unfortunately, the unixODBC package from Fedora 10 won't work with Oracle's driver either, I get:
isql -v OracleODBC-11g
isql: symbol lookup error: /usr/local/share/oracle/11g/lib/libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW
So I will use Easysoft's driver with unixODBC-2.2.12-9.fc10.x86_64 and maybe contact Oracle about their driver.
Actually, Oracle's driver has *never* worked with our unixODBC, at least not reliably across all hardware (I think there have been some combinations that sorta worked so long as you didn't have a 64-bit machine). There is blame enough on both sides for that. I believe that 2.2.14 fixes all the problems on our end, but now Oracle has to update their code to match.
I had the same problem and fixed it by creating a symbolic link.
ln -s libodbcinst.so.2 libodbcinst.so.1
I know this is not the clean approach, but the only way to make it work for now.
FWIW, RHEL6 is also impacted by this. I have both a RH ticket (00718206) and Oracle SR (3-6322821131) open for this issue.
Oracle opened a bug against the 22.214.171.124 Driver:
Bug 15849886 - ODBC DRIVER FOR LINUX NEEDS TO BE LINKED WITH LIBODBCINST.SO.2
I'm waiting to see which oracle driver will contain the fix.