General
cancel
Showing results for 
Search instead for 
Did you mean: 

libclntsh.sl.8.0 not found in the library

Engo Armand-Blaise
Frequent Advisor

libclntsh.sl.8.0 not found in the library

I' running Oracle 8i with precompiler PRO*COBL 1.8. on HP-UNIX B.11.00 with 32 bits. The problem is I can't compile my program by using "make -f" command. The Message Error is :

procob18 ireclen=132 oreclen=132 select_error=no litdelim=quote mode=ans
i iname=rdbpgm0.pco oname=rdbpgm0.cbl
/usr/lib/dld.sl: Can't find path for shared library: libclntsh.sl.8.0
/usr/lib/dld.sl: No such file or directory
sh: 10915 Abort(coredump)
*** Error exit code 134

Stop.
==============================================

What can I do if this file is not found?

I have only "libclntsh.sl" and the .profile file is setting to SHLIB_PATH.

Thank for your prompt help.

26 REPLIES
Christian Gebhardt
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

Hi

In our installations libclntsh.sl is a link to libclntsh.sl.8.0

I think you have to move libclntsh.sl to libclntsh.sl.8.0 and then link libclntsh.sl to libclntsh.sl.8.0

Chris
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Sorry but we have the same link:
lrwxrwxr-x 1 101 101 16 Feb 18 12:58 libclntsh.sl -> libcln
tsh.sl.8.0
-rw-r--r-- 1 101 101 9028 Mar 4 09:25 libclntst8.a
==============================================

My actual question is how to set up the LD_SHLIBRARY_PATH and SHLIB_PATH? it seems really it does not find the right PATH.
T G Manikandan
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

you can generate that file

First stop all Oracle processes including listener.

$cd $ORACLE_HOME/bin
$genclntsh(32 bit Oracle)
or
the eqv. for 64 bit
After generating relink using
$relink all

Revert
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Aftger running this script as Oracle user, this is the result:
cyb_hpux [ /cyborg/app/oracle/product/817/bin ] $ genclntsh
cat: Cannot open /tmp/clntst8.13627/*.nm: No such file or directory
Extracting from ...
sort: Cannot open /tmp/clntst8.13627/*.objs
usage: ar [-][mrxtdpq][ACTabcFfilsuvzS] [posname] archive files ...
ar: creating /cyborg/app/oracle/product/817/lib/libclntst8.a
Created /cyborg/app/oracle/product/817/lib/libclntst8.a
======================================
So, what is about the path?
Christian Gebhardt
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

Hi

Set the SHLIB_PATH in the .profile of the User.
Be sure you have set the ORACLE_HOME before:

SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH
export SHLIB_PATH


Chris
T G Manikandan
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

Did you do any upgrade of Oracle or OS patches?
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

This is what I have but it is still the same message error :
# Set Oracle Environment

ORACLE_HOME=/cyborg/app/oracle/product/817 ; export ORACLE_HOME
ORACLE_SID=dev3 ; export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH ; export SHLIB_PATH
PATH=$PATH:$ORACLE_HOME:$SHLIB_PATH ; export PATH
PATH=$PATH:$LD_LIBRARY_PATH:$ORACLE_HOME/bin ; export PATH
PATH=$PATH:$ORACLE_HOME/precomp/demo/procob ; export PATH
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

I'm not doing any upgrade on Oracle. What I'm doing is to create a Relational Environment from the Indexed One by using Oracle 8i. This is running well with Oracle 8.0.6 but not 8i.

Please assist me.
T G Manikandan
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

you are getting error with these dir,(clntst8.13627).

Is this dir available under $ORACLE_HOME/lib.
If this dir is available there then try running

$cd $ORACLE_HOME/lib
$$ORACLE_HOME/bin/genclntsh

My previous query was
Did you do any upgrade recently.

Revert
Ian Lochray
Respected Contributor

Re: libclntsh.sl.8.0 not found in the library

Once genclntsh has generated libclntsh.sl.8.0 it calls genclntst to generate libclntst.a. I believe that the error messages being generated from genclntsh are, in fact, coming from genclntst. genclntsh should have created libclntsh.sl.8.0 and symbolically linked libclntsh.sl to it. Is this the case? If so, retry the procob18 command.
BTW, the directory is the error is created by genclntst. I think that the error refers to the fact that there are no files in the directory rather than the directory not existing and it is due to the fact that there is a bug in genclntst.
Indira Aramandla
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

You can try recreating the the client shared library and
relinking all the products by running :

gensyslib
genclntsh
cd $ORACLE_HOME/network/lib
make -f ins_network.mk install
cd $ORACLE_HOME/sqlplus/lib
make -f ins_sqlplus.mk install
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk install

Never give up, Keep Trying
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

This is what I've found when running "gensyslib":

Cannot locate /lib/lib-L/opt/sna/lib.a nor /usr/lib/lib-L/opt/sna/lib.a.
Cannot install LU62 Protocol Adapter driver.
Cannot locate /opt/sna/lib/libappc.sl.
Cannot install LU62 Protocol Adapter driver.
Cannot locate /opt/sna/lib/libcsv.sl.
Cannot install LU62 Protocol Adapter driver.
Cannot locate /opt/sna/lib/libmgr.sl.
Cannot install LU62 Protocol Adapter driver.
========================================
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Is there anybody to help me for the LD_LIBRARY_PATH and SHLIBPATH variables to set up?
cyb_hpux [ /cyborg/app/oracle/product/817 ] $ echo $LD_LIBRARY_PATH
/cyborg/app/oracle/product/817/lib:/cyborg/app/oracle/product/817/lib:
cyb_hpux [ /cyborg/app/oracle/product/817 ] $ echo $SHLIB_PATH
/cyborg/app/oracle/product/817/lib:/opt/cobol/cobdir/coblib

This is my .profile file:

ORACLE_HOME=/cyborg/app/oracle/product/817 ; export ORACLE_HOME
TERM=vt220 ; export TERM
TNS_ADMIN=/etc ; export TNS_ADMIN
PATH=$PATH:$ORACLE_HOME/bin ; export PATH

# Set Cobol Environment
LPATH=/usr/lib:/opt/cobol/cobdir ; export LPATH
TMPDIR=/tmp ; export TMPDIR
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH ; export SHLIB_PATH
PATH=$PATH:/usr/bin:/usr/ccs/bin:/opt/cobol ; export PATH
PATH=$PATH:/opt/cobol/bin ; export PATH
PATH=$PATH:$LPATH:$SHLIB_PATH ; export PATH

============================================

Please I need you help.

cyb_hpux [ /cyborg/app/oracle/product/817 ] $ l -ltr $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle dba 34012064 Feb 18 14:08
/cyborg/app/oracle/pr
oduct/817/bin/oracle
cyb_hpux [ /cyborg/app/oracle/product/817 ] $ l -ltr lib/libclntsh.sl
lrwxrwxr-x 1 oracle dba 16 Feb 18 12:58 lib/libclntsh.sl ->
li
bclntsh.sl.8.0

==============================================

This the result after running a shell script "jcmprdb 0"
SCRIPT TO COMPILE rdbpgm0
*************************
jcmprdb 0 PROCESSING ...
procob18 ireclen=132 oreclen=132 select_error=no litdelim=quote
mode=ans
i iname=rdbpgm0.pco oname=rdbpgm0.cbl
/usr/lib/dld.sl: Can't find path for shared library: libclntsh.sl.8.0
/usr/lib/dld.sl: No such file or directory
sh: 6014 Abort(coredump)
*** Error exit code 134
Stop.
jcmprdb 0 COMPLETED
Press to continue . . .
JCMPRDB COMPLETED - rdbpgm0
***************************



Roberto Martinez_6
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Hi,

Change dir to $ORACLE_HOME/lib

try with:

ldd -s libclntsh.sl.8.0

to see references to other libraries within libclntsh.sl.8.0. It should find all the libraries, like in my installation:

find library=/usr/lib/libcl.2; required by libclntsh.sl.8.0
/usr/lib/libcl.2 => /usr/lib/libcl.2

find library=/usr/lib/libisamstub.1; required by /usr/lib/libcl.2
/usr/lib/libisamstub.1 => /usr/lib/libisamstub.1

find library=/usr/lib/libdld.2; required by /usr/lib/libcl.2
/usr/lib/libdld.2 => /usr/lib/libdld.2

find library=/usr/lib/libc.2; required by implicit load
/usr/lib/libc.2 => /usr/lib/libc.2

find library=/usr/lib/libdld.2; required by /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2

find library=/usr/lib/libc.2; required by libclntsh.sl.8.0
/usr/lib/libc.2 => /usr/lib/libc.2

find library=/usr/lib/libm.2; required by libclntsh.sl.8.0
/usr/lib/libm.2 => /usr/lib/libm.2

find library=/usr/lib/libdld.2; required by libclntsh.sl.8.0
/usr/lib/libdld.2 => /usr/lib/libdld.2

find library=/usr/lib/libnss_dns.1; required by libclntsh.sl.8.0
/usr/lib/libnss_dns.1 => /usr/lib/libnss_dns.1

find library=/usr/lib/libdld.2; required by /usr/lib/libnss_dns.1
search path=/usr/lib (RPATH)
trying path=/usr/lib/libdld.2
/usr/lib/libdld.2 => /usr/lib/libdld.2

find library=/usr/lib/libc.2; required by /usr/lib/libnss_dns.1
search path=/usr/lib (RPATH)
trying path=/usr/lib/libc.2
/usr/lib/libc.2 => /usr/lib/libc.2

find library=/usr/lib/libpthread.1; required by libclntsh.sl.8.0
/usr/lib/libpthread.1 => /usr/lib/libpthread.1

find library=/usr/lib/librt.2; required by libclntsh.sl.8.0
/usr/lib/librt.2 => /usr/lib/librt.2

find library=/logiciel/oracle/oracle_817/lib/libwtc8.sl; required by libclntsh.sl.8.0
/logiciel/oracle/oracle_817/lib/libwtc8.sl => /logiciel/oracle/oracle_817/lib/libwtc8.sl

find library=/usr/lib/libc.2; required by /logiciel/oracle/oracle_817/lib/libwtc8.sl
/usr/lib/libc.2 => /usr/lib/libc.2

If there's a "not found" or something like that, check the offending library, try to find it or post the result.
It wasn't me
Yogeeraj_1
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

 
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Thanks for your help but actually, the main problem consists in how to create this "libclntsh.sl.8.0" file wihtout error; when I ran "genclntsh", this is the output :

cyb_hpux [ /cyborg/app/oracle/product/817/bin ] $ genclntsh
cat: Cannot open /tmp/clntst8.7515/*.nm: No such file or directory
Extracting from ...
sort: Cannot open /tmp/clntst8.7515/*.objs
usage: ar [-][mrxtdpq][ACTabcFfilsuvzS] [posname] archive files ...
ar: creating /cyborg/app/oracle/product/817/lib/libclntst8.a
Created /cyborg/app/oracle/product/817/lib/libclntst8.a
=============================================
However, this command is not successful:
cyb_hpux [ /cyborg/app/oracle/product/817/lib ] $ ldd -s libclntsh.sl.8.0
ldd: cannot open "libclntsh.sl.8.0".
ldd: No such file or directory
=============================================
cyb_hpux [ / ] $ find library=/usr/lib/libcl.2; required by libclntsh.sl.8.0
find: cannot stat library=/usr/lib/libcl.2
ksh: required: not found
============================================



Ian Lochray
Respected Contributor

Re: libclntsh.sl.8.0 not found in the library

It seems that genclntsh has not created libclntsh.sl.8.0 which it should have done before it generated the errors you described. Can you try running a debug version of genclntsh and post the output so we can see where it is going wrong. To do this:
log on as oracle
cd $ORACLE_HOME/bin
cp genclntch mygenclntsh
edit mygenclntsh and insert a new line on line 2 with the contents "set -x" (without the quotes)
mygenclntsh
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Attached is the file "genclntsh" created after running "genclntsh" with trace.

Best regards,
Engo.
Ian Lochray
Respected Contributor

Re: libclntsh.sl.8.0 not found in the library

The reason that libclntsh.sl.8.0 was not generated and we saw no error is that all errors from the link command that generates it are redirected to a file. You should have a newly created file called /cyborg/app/oracle/product/817/lib/clntsh.map which contains the output of the link command. Can you please post that.
Indira Aramandla
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

You could try this.
Stop the instance and listener and then recreate LIBCLNTSH.SL.8.0:
1. Change the directory to ORACLE_HOME/bin

2.genclntsh64

3. Then relink : relink utilities

But before that make sure LD_LIBRARY_PATH/SHLIB_PATH variable are set properly. Form your profile they seems to be defined correctly. And also make sure there is enough space in /tmp directory. In the above answere from Yogeeraj there is described how to enable/disable the variables.
Never give up, Keep Trying
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Hi all,
first of all befoe doing anything more, below are the log files :

cyb_hpux [ /cyborg/app/oracle/product/817/lib ] $ more clntsh.map
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libsql8.a loaded for -l
sql8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libpls8.a loaded for -l
pls8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libclient8.a loaded for
-lclient8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libldapclnt8.a loaded f
or -lldapclnt8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libnbeq8.a loaded for -
lnbeq8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libnhost8.a loaded for
-lnhost8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libnus8.a loaded for -l
nus8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libnldap8.a loaded for
-lnldap8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libldapclnt8.a loaded f
or -lldapclnt8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libnsslb8.a loaded for
-lnsslb8 with "-a archive" not specified
ld: (Warning) Archive /cyborg/app/oracle/product/817/lib/libnlu628.a loaded for
-lnlu628 with "-a archive" not specified
ld: Can't find library: ":libappc.sl"
============================================
2. Size of /tmp directory :
cyb_hpux [ / ] # bdf /tmp
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol7 2048000 1677265 348260 83% /tmp

There is enough space.
============================================
3. Relink utilities :
cyb_hpux [ /cyborg/app/oracle/product/817/bin ] $ relink utilities

- Linking Import utility (imp)
rm -f /cyborg/app/oracle/product/817/rdbms/lib/imp
cc -Wl,+s -Wl,+n -o /cyborg/app/oracle/product/817/rdbms/lib/imp -L/cyb
org/app/oracle/product/817/rdbms/lib -L/cyborg/app/oracle/product/817/lib -o /c
yborg/app/oracle/product/817/rdbms/lib/imp /cyborg/app/oracle/product/817/rdbms
/lib/impdrv.o /cyborg/app/oracle/product/817/rdbms/lib/ssdbaed.o /cyborg/app/ora
cle/product/817/rdbms/lib/defopt.o /cyborg/app/oracle/product/817/rdbms/lib/libd
btools8.a -lclntsh /cyborg/app/oracle/product/817/rdbms/lib/kpuadef.o `sed -e
's/-ljava//g' /cyborg/app/oracle/product/817/lib/ldflags` -lnsgr8 -lnzjs8 -l
n8 -lnl8 -lnro8 `sed -e 's/-ljava//g' /cyborg/app/oracle/product/817/lib/ldflags
` -lnsgr8 -lnzjs8 -ln8 -lnl8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8
-lwtc8 -lmm -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 `sed -e 's/-ljava//g' /cybor
g/app/oracle/product/817/lib/ldflags` -lnsgr8 -lnzjs8 -ln8 -lnl8 -lnro8 `sed
-e 's/-ljava//g' /cyborg/app/oracle/product/817/lib/ldflags` -lnsgr8 -lnzjs
8 -ln8 -lnl8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -ltrace8 -lnls8 -l
core8 -lnls8 -lcore8 -lnls8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8 -l
nls8 -lcore8 -lnls8 -lcore8 -lnls8 `cat /cyborg/app/oracle/product/817/lib/
sysliblist` -lm
/usr/ccs/bin/ld: Can't find library: "clntsh"
*** Error exit code 1

Stop.

============================================
Question :

Possible some lib or object files are not correct on my installation.
Would you please check the size of the nautab.o file for me.

cyb_hpux [ /cyborg/app/oracle/product/817 ] $ l -l $ORACLE_HOME/lib/nautab.o
-rw-r--r-- 1 oracle dba 620 Feb 18 12:57
/cyborg/app/oracle/pro
duct/817/lib/nautab.o

Indira Aramandla
Honored Contributor

Re: libclntsh.sl.8.0 not found in the library

The size of $ORACLE_HOME/lib/nautab.o
is 812 bytes (in 8.1.7)
Never give up, Keep Trying
Ian Lochray
Respected Contributor

Re: libclntsh.sl.8.0 not found in the library

I have been looking at the output from when you ran the debug version of genclntsh. I cannot see the actual link (ld) statement. It seems to go from the statement that sets OLIBS to the redirection of output to the map file.
Is the whole of the output posted? If so, can you post mygenclntsh.
Engo Armand-Blaise
Frequent Advisor

Re: libclntsh.sl.8.0 not found in the library

Hi there,

Sorry to come to you late.....

It seams that there was no space in /tmp directory.
Before concluding it, I'm busy to re-Install Oracle 8i Entreprise Edition and Oracle 8i Client without forgetting the precompiler.

I'll give you a feedback later..... Thanks for your help. You're STARS!!!!!

Best regards,

Engo.