Bug 498311 - Package unixODBC is missing shared library libodbcinst.so.1
Summary: Package unixODBC is missing shared library libodbcinst.so.1
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: unixODBC
Version: rawhide
Hardware: x86_64
OS: Linux
low
urgent
Target Milestone: ---
Assignee: Tom Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-29 20:06 UTC by Angela Johansson
Modified: 2013-07-03 03:22 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-04-29 20:36:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Angela Johansson 2009-04-29 20:06:24 UTC
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):
2.2.14-2

How reproducible:
always

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
   ldd <path_to_driver_library_file>
  
Actual results:
Output from ldd contains the line
	libodbcinst.so.1 => not found

Expected results:
Output from ldd does not contain any "not found" strings

Additional info:
Older unixODBC packages contain the file libodbcinst.so.1

Comment 1 Tom Lane 2009-04-29 20:36:35 UTC
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.

Comment 2 Angela Johansson 2009-04-30 04:54:11 UTC
(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.

Comment 3 Tom Lane 2009-04-30 22:17:27 UTC
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.

Comment 4 Stefan Walter 2011-04-10 12:14:56 UTC
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.

Comment 5 Jacob Yundt 2012-11-09 21:33:08 UTC
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 11.2.0.3 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.


Note You need to log in before you can comment on or make changes to this bug.