Bug 143559

Summary: There is no MyODBC.i386 package for connecting to openoffice to mysql sever
Product: [Fedora] Fedora Reporter: Keith Sornen <sornen>
Component: openoffice.orgAssignee: Bill Nottingham <notting>
Status: CLOSED RAWHIDE QA Contact: Bill Nottingham <notting>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: caolanm, dcbw, rvokal, tgl
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-05-15 15:08:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Keith Sornen 2004-12-22 11:11:10 UTC
Openoffice is an i386 package.  To use the database connectivity of
openoffice MyODBC is required.  However, only the x86_64 package is
supplied which means that there is incompatibility between the two
libraries generating this error when attempting to connect:

[unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmyodbc.so' :
/usr/lib64/libmyodbc.so: cannot open shared object file: No such file
or directory

Even though the two libraries exist.

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


How reproducible:

Always


Steps to Reproduce:
1.Start openoffice
2.Go to Tools/DataSources
3.Connect to a datasource using the ODBC connectivity.
  
Actual results:


Expected results:


Additional info:

Comment 1 Tom Lane 2004-12-22 15:42:48 UTC
Looks like it's there to me:

$ rpm -qlp MyODBC-2.50.39-19.1.x86_64.rpm
/usr/lib64/libmyodbc-2.50.39.so
/usr/lib64/libmyodbc.so
/usr/share/doc/MyODBC-2.50.39
/usr/share/doc/MyODBC-2.50.39/ChangeLog
/usr/share/doc/MyODBC-2.50.39/INSTALL
/usr/share/doc/MyODBC-2.50.39/odbc.ini

What do you get from "ldd /usr/lib64/libmyodbc.so" ?
What versions of MyODBC and mysql do you have installed?

Comment 2 Keith Sornen 2004-12-23 22:58:22 UTC
The x86_64 version of MyOCBD is installed on my machine, but
openoffice is an i386 package.  I think the problem is openoffice a 32
bit package calling a 64 bit library.

$ ls /usr/lib64/libmy*
/usr/lib64/libmyodbc-2.50.39.so  /usr/lib64/libmyodbc.so

The error message is:
Can't open lib '/usr/lib64/libmyodbc.so' :
/usr/lib64/libmyodbc.so: cannot open shared object file: No such file
or directory.

If I am right this could be fixed by making openoffice an x86_64
package or supplying MyODBC as an additional i386 package.  I have
tried rebuilding the src rpm of MyODBC with --target=i386 without success.

Comment 3 Keith Sornen 2004-12-23 23:03:53 UTC
I have MyODBC-2.50.39-19.1, mysql-3.23.58-13

> ldd /usr/lib64/libmyodbc.so
libmysqlclient.so.10 => /usr/lib64/mysql/libmysqlclient.so.10
(0x0000002a9568f000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a957cd000)
        libodbcinst.so.1 => /usr/lib64/libodbcinst.so.1
(0x0000002a958e0000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a959ee000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000002a95c1f000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000002a95d53000)
        libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a95e6b000)
        libltdl.so.3 => /usr/lib64/libltdl.so.3 (0x0000002a95ff1000)
        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a960f8000)
        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000002a9620e000)


Comment 4 Tom Lane 2004-12-23 23:31:55 UTC
The thing that bothers me is that the error message clearly says "No
such file or directory", when the file is there (and so are all the
shlibs it depends on, according to ldd).  If your theory is correct
then I'd have expected some other error, along the lines of "wrong
library type".  Still, I don't see what else it could be.

I'm going to reassign this as a distribution bug.  Not shipping the
32-bit library on 64-bit platforms is their bailiwick not mine ...

Comment 5 Keith Sornen 2004-12-24 01:50:40 UTC
In my limited experience running an x86_64 distribution (less that one
month), this is the error message I have had before when a 32 bit
program accesses a 64bit library. 


Comment 6 Bill Nottingham 2004-12-24 04:47:49 UTC
openoffice.org doesn't appear to have requires on odbc libraries. Does
it have a fixed list of files it tries to dlopen?

Comment 7 Keith Sornen 2004-12-24 22:14:20 UTC
The odbc libraries are required for database connectivity to a mysql
server (see the menu Tools/Data Sources).  So it probably only tries a
dlopen of the odbc libraries when you try to connect.

Comment 8 Edward Rudd 2005-08-02 22:14:20 UTC
open office tried to open /usr/lib/libodbc.so (may libodbc.so.1)

the issue with this is a 32-bit MyODBC package needs to be included so that
openoffice can connect to MySQL servers via the 32-bit unixODBC interface. OR an
alternative is to rebuild openoffice as a 64bit application (probably not an
easy feat)

Comment 9 Caolan McNamara 2006-02-23 11:11:29 UTC
FWIW: x86_64 OOo porting looks like it'll be in good shape soon, possibly for fc6

Comment 10 Caolan McNamara 2006-05-15 15:08:02 UTC
with x86_64 OOo as in rawhide the x86_64 odbc should now be used in this scenario