Easysoft Data Access

Why do I get error "libodbc.a(odbc.so) could not be loaded"?

Article:
00940
Last Reviewed:
2nd January 2024
Revision:
8

The actual error reported to us was:

0509-150 Dependent module
/usr/local/easysoft/unixODBC/lib/libodbc.a(odbc.so) could not be loaded.

and this is an AIX-specific issue.

At various stages in unixODBC's history, libtool (used to create unixODBC shared objects) has created:

Applications linked against the library are dependent on the name of the archive (libodbc.a) and the name of the object inside it. Running dump -H on unixODBC's isql (included with your Easysoft ODBC driver) might display:

INDEX  PATH                          BASE                MEMBER
3                                    libodbc.a           libodbc.so.1

Applications such as Informatica and UniVerse/UniData have a dependency on libodbc.a(odbc.so). To ensure, isql (and any other applications built directly with your current unixODBC) continue to work but also allow Informatica/UniVerse/UniData etc. to work you need to extract the current object from libodbc.a, rename it and add it back to the archive.

e.g.

$ cd /usr/local/easysoft/unixODBC/lib
$ ar -X32_64 -tv libodbc.a
rwxr-xr-x   201/1     698963 Oct 04 11:21 2004 libodbc.so.1
$ ar -X32_64 -xv libodbc.a
x - libodbc.so.1
$ mv libodbc.so.1 odbc.so
$ ar -X32_64 -rv libodbc.a odbc.so
a - odbc.so
Applies To

Knowledge Base Feedback

* Did this content help you?
* Please select one option based on your first choice:

(* Required Fields)