From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.6) Gecko/20040510 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 How reproducible: Always 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 source URL 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 Additional info: 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 [gert@apollo tmp]$
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: http://dba.openoffice.org/drivers/postgresql/index.html
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