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: | unixODBC | Assignee: | Jan Staněk <jstanek> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | qe-baseos-daemons | ||||||
| Severity: | low | Docs Contact: | |||||||
| Priority: | low | ||||||||
| Version: | 6.5 | CC: | 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: |
|
||||||||
Created attachment 859089 [details]
New so-version-bump.patch
I re-created the so-version-bump.patch, adding the macro increment into it.
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.
Pushed the updated patch to dist-git. Commit: http://pkgs.devel.redhat.com/cgit/rpms/unixODBC/commit/?h=rhel-6.6&id=88d9503b034927975a8f166fd8a483d7615da4e3 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 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 |
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