Bug 1060225

Summary: [unixODBC][Driver Manager]Can't open cursor lib 'libodbccr' : file not found'
Product: Red Hat Enterprise Linux 6 Reporter: Remi Collet <fedora>
Component: unixODBCAssignee: Jan Staněk <jstanek>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: low Docs Contact:
Priority: low    
Version: 6.5CC: databases-maint, jherrman, kvolny, ovasik
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, file name values were hard-coded in the ODBC Driver Manager. As a consequence, the Driver Manager did not correctly interact with other applications after an update. The current update changes the hard-coded values to dynamically determined ones, and updating no longer causes Driver Manager incompatibilities with other applications.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-10 07:51:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
New so-version-bump.patch
none
New so-version-bump.patch none

Description Remi Collet 2014-01-31 13:58:52 UTC
Trying to use, from PHP (manual build of 5.5) + PDO_odbc driver raises this error.

Studying a little the unixODBC spec.

Upstream use soname .1 which is raised to .2 by the so-version-bump.patch
-LIB_VERSION="1:0:0"
+LIB_VERSION="2:0:0"

Problem : this is harcoded in DriverManager/SQLConnect.c
#define CURSOR_LIB      "libodbccr"
#define CURSOR_LIB_VER  ".1"
...

        sprintf( name, "%s%s%s", CURSOR_LIB, ext, CURSOR_LIB_VER );
        if ( !(connection -> cl_handle = odbc_dlopen( name )))
...

The trivial Fix seems missing.
  sed -e '/CURSOR_LIB_VER/s/1/2/' -i DriverManager/SQLConnect.c

Comment 2 Jan Staněk 2014-02-04 11:25:27 UTC
Created attachment 859089 [details]
New so-version-bump.patch

I re-created the so-version-bump.patch, adding the macro increment into it.

Comment 3 Jan Staněk 2014-02-04 13:10:28 UTC
Created attachment 859134 [details]
New so-version-bump.patch

I redid the patch in less intrusive way, this version only adds the macro increment and do not fiddle with other files.

Comment 4 Jan Staněk 2014-02-04 13:23:48 UTC
Pushed the updated patch to dist-git.

Commit: http://pkgs.devel.redhat.com/cgit/rpms/unixODBC/commit/?h=rhel-6.6&id=88d9503b034927975a8f166fd8a483d7615da4e3

Comment 6 Karel Volný 2014-07-08 12:40:16 UTC
SanityOnly - I'm unable to reproduce the original problem, php pdo works for me with the old version, however, I can confirm the change in the code

Comment 8 errata-xmlrpc 2014-07-10 07:51:37 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0869.html