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
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.
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?
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..
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.