[unixODBC-support] Failed to load ODBC library symbol: /usr/local/libodbc.so.1(SQLAllocHandle)

Tacho tachoymu at gmail.com
Thu Jul 15 18:03:13 BST 2010

Hi Nick,

I changed the location as you suggested, but the error remains the same:

I did two changes in the $ORACLE_HOME/hs/admin/initsqlserver.ora file,
in the parameter HS_FDS_SHAREABLE_NAME as follows:
Firstly, changed to /usr/local/lib/libodbc.so, run select from
SQL*Plus and error is issued:
HOSGIP for "HS_FDS_SHAREABLE_NAME" returned "/usr/local/lib/libodbc.so"
Entered hgolofns at 2010/07/15-10:19:56
Exiting hgolofns at 2010/07/15-10:19:56
Failed to load ODBC library symbol: /usr/local/lib/libodbc.so(SQLAllocHandle)

Secondly, changed to /usr/local/lib/libodbc.so.1, run select from
SQL*Plus and error is issued again
HOSGIP for "HS_FDS_SHAREABLE_NAME" returned "/usr/local/lib/libodbc.so.1"
Entered hgolofns at 2010/07/15-10:19:58
Exiting hgolofns at 2010/07/15-10:19:58
Failed to load ODBC library symbol: /usr/local/lib/libodbc.so.1(SQLAllocHandle)

by looking at the contents into the /usr/local/lib directory, we see
the following libodbc* files:

regatta-[/usr/local/lib]> ls -l libodbc.*
-rwxr-xr-x    1 root     system      3595747 Jul 12 18:11 libodbc.a
-rwxr-xr-x    1 root     system          931 Jul 12 18:11 libodbc.la
-rwxr-xr-x    1 root     system      3578122 Jul 13 18:10 libodbc.so.1

the library libodbc.so does not exist as should be. Does the
libodbc.so.1  library work the same as libodbc.so does?

I ran the symfind and dltest commands and all appears to be fine:

regatta[/usr/local/lib]> symfind -c -i -v SQLAllocHandle /usr/local/lib/odbcdir

SymFind - Find Symbol <SQLAllocHandle> in <**>.a, .o, .so
Command:         /u03/app/oracle/product/11.1.0/bin/symfind -c -i -v
SQLAllocHandle /usr/local/lib/odbcdir
Local Directory: /usr/local/lib
Output File:     (none)
Note:            I do not traverse symbolic links
                 Use '-v' option to show any symbolic links

Locating Archive and Object files ...
Processing: /usr/local/lib/odbcdir/libodbc.a ...
.SQLAllocHandle      T   268440504          72
.SQLAllocHandleStd   T   268572120         140
.__SQLAllocHandle    T   268436436        4068
SQLAllocHandle       D   536887412
SQLAllocHandle       d   536887412          12
SQLAllocHandle.c     f           -
SQLAllocHandleStd    D   536887436
SQLAllocHandleStd    d   536887436          12
SQLAllocHandleStd.c  f           -
_SQLAllocHandle.rw_c t   268819400         317
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/lib/odbcdir/libodbc.a

regatta[/usr/local/lib]> dltest /usr/local/lib/odbcdir/libodbc.so.1
SUCCESS: Loaded /usr/local/lib/odbcdir/libodbc.so.1
SUCCESS: Found SQLAllocHandle

Really I do not know why is not working properly if seems to be right.

I hope can help me to resolve this issue.


2010/7/15 Tacho <tachoymu at gmail.com>:
> Hi Nick, thanks for you input, I'll change it and let you know.
> 2010/7/14 Nick Gorham <nick at lurcher.org>:
>> Tacho wrote:
>>> I have a problem related to Oracle11g to SQL Server  2005 connection
>>> from SQL*Plus:
>>> Failed to load ODBC library symbol:
>>> /usr/local/libodbc.so.1(SQLAllocHandle)
>> I suspect you have the entry in the oracke ini file wrong, I would guess it
>> should be /usr/local/lib/libodbc.so
>> --
>> Nick
>> _______________________________________________
>> unixODBC-support mailing list
>> unixODBC-support at mailman.unixodbc.org
>> http://mailman.unixodbc.org/mailman/listinfo/unixodbc-support

More information about the unixODBC-support mailing list