From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.6)
Description of problem:
When I try to access a postgresql database with openoffice via
unixODBC, it gives an error message saying that it could not load
libodbc.so.1 or that this file is corrupted.
Probably caused because openoffice is a 32 bit application and libodbc
is compiled as a 64 bit library.
Version-Release number of selected component (if applicable):
openoffice.org-1.1.1-4, unixODBC-2.2.8-5, postgresql-7.4.2-1
Steps to Reproduce:
1. start openoffice and hit F4 for database sources
2. right click on Bibliography and choose "Administrate Data Sources"
3. choose "new data source"
4. select database type is "ODBC" and click on "..." for Database
Actual Results: An error message:
Could not load the program library libodbc.so.1 or it is corrupted.
The ODBC data source selection is not available
Expected Results: It should have accessed the database via ODBC
Openoffice is compiled as a 32 bits application, but the odbc library
is 64 bits:
[gert@apollo tmp]$ file /usr/lib/ooo-1.1/program/soffice.bin
/usr/lib/ooo-1.1/program/soffice.bin: ELF 32-bit LSB executable, Intel
80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses
shared libs), stripped
[gert@apollo tmp]$ file /usr/lib64/libodbc.so.1
/usr/lib64/libodbc.so.1: symbolic link to `libodbc.so.1.0.0'
[gert@apollo tmp]$ file /usr/lib64/libodbc.so.1.0.0
/usr/lib64/libodbc.so.1.0.0: ELF 64-bit LSB shared object, AMD x86-64,
version 1 (SYSV), stripped
Created attachment 100894 [details]
Error message screenshot
There is a seperate but similiar enough issue to this that might cause
confusion. There is a "Organize" button on the "Choose a data source"
window which apparently doesn't do anything under unix. i.e. see
http://www.openoffice.org/issues/show_bug.cgi?id=36777. That button
appears on the dialog that arises from "..." in the desc above so
would appear on the next step, not the step that this bug describes.
I don't think its possible for 32bit OOo to use the 64bit
unixODBC-2.2.8-5 libodbc.so (which is what it will want to do).
Perhaps installing an additional 32bit unixODBC might be a workaround ?
Installing a 32 bit unixODBC should work, but FC2 for AMD64 does not
contain a 32 bit unixODBC. I tried installing the 32 bit version from
FC2 for i386, but there dependecies on other 32 bit libs and in order
not to make a mess of my system I did not try to install them:
[gert@apollo tmp]$ sudo rpm -i unixODBC-2.2.8-5.i386.rpm
error: Failed dependencies:
libltdl.so.3 is needed by unixODBC-2.2.8-5
libreadline.so.4 is needed by unixODBC-2.2.8-5
In order to access a postgresql database from openoffice, I already
found a good alternative for unixODBC.
I use the OpenOffice postgresql SDBC Driver:
ok, good that there is an alternative that you are happy with :-).
Theres nothing specific we can do about this problem given that OOo is
32bit only until a 64bit clean OOo becomes available which would
resolve this class of issue