linux - [01000][unixODBC][Driver Manager]Can't open lib '/usr/local/easysoft/oracle/InstantClient112/lib/libsqora.so' : file not found -
i trying acces oracle linux server. using unixodbc.
when try acces oracle using isql , error driver manager can't open libsqora.so.12.1.
odbc.ini
[name] application attributes = t attributes = w batchautocommitmode = ifallsuccessful bindasfloat = f closecursor = f disabledpm = f disablemts = t driver = oracle 11g odbc driver dsn = dsn_name execschemaopt = execsyntax = t failover = t failoverdelay = 10 failoverretrycount = 10 fetchbuffersize = 64000 forcewchar = f lobs = t longs = t maxlargedata = 0 metadataiddefault = f querytimeout = t resultsets = t servername = servername sqlgetdata extensions = f translation dll = translation option = 0 disablerulehint = t userid = xxxx password=<password> statementcache=f cachebuffersize=20 useocidescribeany=f
odbcinst.ini
[oracle 11g odbc driver] description=oracle odbc driver oracle 11g driver=/usr/local/easysoft/oracle/instantclient112/lib/libsqora.so fileusage=1
then, when use isql acces oracle following error:
[root@xxxxx lib]# isql -v name [01000][unixodbc][driver manager]can't open lib '/usr/local/easysoft/oracle/instantclient112/lib/libsqora.so' : file not found [isql]error: not sqlconnect
i had typo in odbcinst.ini. have corrected still same error.
[root@xxxxx tmp]# isql -v name [01000][unixodbc][driver manager]can't open lib '/usr/local/easysoft/oracle/instantclient112/lib/libsqora.so.11.1' : file not found [isql]error: not sqlconnect [root@xxxxx tmp]# ls -l /usr/local/easysoft/oracle/instantclient112/lib/libsqora.so.11.1 -rw-r--r-- 1 bin bin 996363 sep 5 2010 /usr/local/easysoft/oracle/instantclient112/lib/libsqora.so.11.1 [oracle 11g odbc driver] description=oracle odbc driver oracle 11g driver=/usr/local/easysoft/oracle/instantclient112/lib/libsqora.so.11.1 fileusage=1
env
[root@xxxxx tmp]# env hostname=xxxxx ssh2_tty=/dev/pts/0 shell=/bin/bash term=xterm histsize=1000 odbc_dir=/usr/local/easysoft/unixodbc oldpwd=/usr/local/easysoft ssh_session_id=1424 ssh_tty=/dev/pts/0 ld_library_path=/usr/local/easysoft/lib:/usr/local/easysoft/unixodbc/lib a__z="*shlvl tns_admin=/usr/local/easysoft/oracle/instantclient112/network/ inputrc=/etc/inputrc pwd=/tmp lang=en_us.utf-8 odbcsysini=/etc/ home=/root shlvl=3 odbcini=/etc lessopen=|/usr/bin/lesspipe.sh %s oracle_home=/usr/local/easysoft/oracle/instantclient112/ g_broken_filenames=1 _=/bin/env path=/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/x11r6/bin:/usr/local/easysoft/unixodbc/bin:/opt/oraclient/11.2.0.4/bin
fixed original issue ld_library_path updates broken again since trying use 32bit oracle client.
installed 32bit oracle client in directory /opt/oraclient/11.2.0.4_32/.
modified odbcinst.ini:
[oracle 11g odbc driver] description=oracle odbc driver oracle 11g #driver=/usr/local/easysoft/oracle/instantclient112/lib/libsqora.so.11.1 driver=/opt/oraclient/11.2.0.4_32/lib/libsqora.so.11.1 fileusage=1
error:
[root@xxxxx lib]# /usr/local/bin/isql -v name [01000][unixodbc] [driver manager]can't open lib '/opt/oraclient/11.2.0.4_32/lib/libsqora.so.11.1' : file not found [isql]error: not sqlconnect
if need use 32bit oracle client, doing wrong...i know in environmental variables.
[root@xxxxx lib]# file /opt/oraclient/11.2.0.4_32/lib/libsqora.so.11.1 /opt/oraclient/11.2.0.4_32/lib/libsqora.so.11.1: elf 32-bit lsb shared object, intel 80386, version 1 (sysv), not stripped
i enable trace not able attach document here. can email.
more debug info:
[root@xxxxx bin]# ldd /opt/oraclient/11.2.0.4_32/lib/libsqora.so.11.1 ldd: warning: not have execution permission `/opt/oraclient/11.2.0.4_32/lib/libsqora.so.11.1' linux-gate.so.1 => (0xffffe000) libdl.so.2 => /lib/libdl.so.2 (0xf7f2b000) libm.so.6 => /lib/libm.so.6 (0xf7f02000) libpthread.so.0 => /lib/libpthread.so.0 (0xf7ee8000) libnsl.so.1 => /lib/libnsl.so.1 (0xf7ecf000) libclntsh.so.11.1 => not found libodbcinst.so.1 => not found libc.so.6 => /lib/libc.so.6 (0xf7d71000) /lib/ld-linux.so.2 (0x00134000)
i don't 1 "not found" may causing problems:
[root@xxxxx bin]# ls /opt/oraclient/11.2.0.4_32/lib/libclntsh.so.11.1 /opt/oraclient/11.2.0.4_32/lib/libclntsh.so.11.1
below recent env output:
[root@xxxxx]# env hostname=xxxxx ssh2_tty=/dev/pts/0 term=xterm shell=/bin/bash histsize=1000 odbc_dir=/usr/local/easysoft/unixodbc ssh_tty=/dev/pts/0 ld_library_path=/opt/oraclient/11.2.0.4_32/:/opt/oraclient/11.2.0.4_32/lib/:/usr/local/easysoft/oracle/instantclient112:/usr/local/easysoft/oracle/instantclient112/lib/ tns_admin=/opt/oraclient/11.2.0.4_32/network/ path=/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/x11r6/bin:/usr/local/easysoft/unixodbc/bin:/opt/oraclient/11.2.0.4_32/bin inputrc=/etc/inputrc lang=en_us.utf-8 odbcsysini=/etc/ shlvl=4 home=/root odbcini=/etc oracle_home=/opt/oraclient/11.2.0.4_32/ g_broken_filenames=1 _=/bin/env
this error misleading:
the file error claimed not present did exist.
i able chase down actual missing file executing:
# ldd /path/to/your/socalled/missing/file.so
this returned series of files , 1 said:
libodbcinst.so.2 => not found
that culprit me. created link needed , voila, error went away.
ref: http://mailman.unixodbc.org/pipermail/unixodbc-support/2011-november/003018.html
Comments
Post a Comment