Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 232361 - libodbc.so is not "provided" by the unixODBC package
Summary: libodbc.so is not "provided" by the unixODBC package
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: unixODBC
Version: 3.8
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tom Lane
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-03-14 23:41 UTC by Samuel Kielek
Modified: 2013-07-03 03:12 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-03-16 01:42:56 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Samuel Kielek 2007-03-14 23:41:23 UTC
Description of problem:

Building packages with binaries linked against libodbc.so fail with unresolvable
dependencies even with unixODBC installed.

Version-Release number of selected component (if applicable):

unixODBC-2.2.8-2.3.0.2

How reproducible:
Always

Steps to Reproduce:
1. rpm -qf /usr/lib/libodbc.so
2. rpm -q --whatprovides libodbc.so
  
Actual results:

# rpm -qf /usr/lib/libodbc.so
unixODBC-2.2.8-2.3.0.2

# rpm -q --whatprovides libodbc.so
no package provides libodbc.so

Expected results:

The unixODBC package should "provide" the solib since it owns the file.

Additional info:

None

Comment 1 Samuel Kielek 2007-03-14 23:44:43 UTC
I just realized that my description was a little misleading. I should have said
that packages containing binaries linked against libodbc.so fail to install with
unresolvable dependencies.

Comment 2 Tom Lane 2007-03-15 06:19:45 UTC
Hm, afaik it is not possible (or at least not accepted practice) to hardlink a binary against a libfoo.so name; 
the reference should be to a versioned name such as libfoo.so.N or possibly libfoo.so.N.M.  What are you 
doing exactly?

Comment 3 Samuel Kielek 2007-03-15 15:08:33 UTC
I hadn't drilled down into it to see exactly what was causing the issue, so I
just did.. It's a Sun issue, not a RHEL issue. But in case you're interested,
here is what happened..

I have a package that contains java version "1.4.0_04". Included with java is a
library (libJdbcOdbc.so) which is linked against the .so name directly for
libodbc and libodbcinst. So when you attempt to install the rpm package
containing this lib, you get:

error: Failed dependencies:
        libodbc.so is needed by backup-6.0c
        libodbcinst.so is needed by backup-6.0c

# ldd ./java/jre/lib/i386/libJdbcOdbc.so
        libodbcinst.so => /usr/lib/libodbcinst.so (0x00111000)
        libodbc.so => /usr/lib/libodbc.so (0x00a1a000)
        libjava.so => not found
        libjvm.so => not found
        libc.so.6 => /lib/tls/libc.so.6 (0x00122000)
        libdl.so.2 => /lib/libdl.so.2 (0x00fb4000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00284000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0043f000)

Feel free to change status to NOTABUG..


Comment 4 Tom Lane 2007-03-16 01:42:56 UTC
Yeah, that library has been built improperly: the references to libodbc and libodbcinst should include
a version number, similar to what you see for libc etc.  So it's NOTABUG, or more accurately not
my bug ;-)

If it helps, you should be able to work around this by installing unixODBC-devel to provide the needed 
symlinks, until you can get a fixed copy of libJdbcOdbc.


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