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

Oracle linking problem or bad SHLIB_PATH?

SOLVED
Go to solution
Eric Ladner
Trusted Contributor

Oracle linking problem or bad SHLIB_PATH?

Oracle 8.1.7 (64 bit), HP-UX 11.0 (64bit).

When trying to execute svrmgrl and some others, I get the following error:

/usr/lib/dld.sl: Bad magic number for shared library: /oracle/v8170ee64/lib64/libclntsh.sl.8.0
/usr/lib/dld.sl: Exec format error
Abort(coredump)


I tried relinking svrmgrl (make -f ins_rdbms.mk isvrmgrl) but I get the same results. The interesing thing is the chatr output for svrmgrl:

pamer v8170ee64/rdbms/lib: chatr /oracle/v8170ee64/bin/svrmgrl
/oracle/v8170ee64/bin/svrmgrl:
shared executable
shared library dynamic path search:
SHLIB_PATH enabled first
embedded path disabled second Not Defined
shared library list:
dynamic /oracle/v8170ee64/lib/libwtc8.sl
dynamic /oracle/v8170ee64/lib/libclntsh.sl.8.0
dynamic /usr/lib/librt.2
dynamic /usr/lib/libpthread.1
dynamic /usr/lib/libnss_dns.1
dynamic /usr/lib/libdld.2
dynamic /usr/lib/libm.2
dynamic /usr/lib/libc.2
shared library binding:
deferred
global hash table disabled
plabel caching disabled
global hash array size:1103
global hash array nbuckets:3
shared vtable support disabled
static branch prediction disabled
executable from stack: D (default)
kernel assisted branch prediction enabled
lazy swap allocation disabled
text segment locking disabled
data segment locking disabled
third quadrant private data space disabled
fourth quadrant private data space disabled
data page size: D (default)
instruction page size: D (default)

Note the ../lib/.. rather than ../lib64/.. in the shared library list.

Also, the produced svrmgrl executable is a PA-RISC 1.1 shared executable, rather than an ELF 64 bit executable as I would expect.

If I change SHLIB_PATH to $ORACLE_HOME/lib rather than $ORACLE_HOME/lib64, it works. Am I off base on my SHLIB_PATH here?

Why the discrepancy? This is a 64bit installation on a 64bit machine. I'd expect it to use the 64bit libraries rather than the other ones.

Thoughts?

Sorry it's so jumbled. Got the phone rining about every 60 seconds as I'm trying to figure this out. Users.. Heh.
3 REPLIES
Ravi_8
Honored Contributor

Re: Oracle linking problem or bad SHLIB_PATH?

HI,
have u installed these patches.

PHCO_24148 1.0 libc cumulative patch
PHSS_21947 1.0 ld(1) and linker tools cumulative
patch
PHSS_25249 1.0 +O4/PBO compiler cumulative patch


just a thought
never give up
Andreas D. Skjervold
Honored Contributor
Solution

Re: Oracle linking problem or bad SHLIB_PATH?

Hi
Have experienced the same thing as you.
I'm not to sure about this answer but works anyway;

SHLIB_PATH should include both $ORACLE_HOME/lib and $ORACLE_HOME/lib64

I belive there still is some 32 bit software within the Oracle package.

Andreas
Only by ignoring what everyone think is important, can you be aware of what everyone ignores!
SHABU KHAN
Trusted Contributor

Re: Oracle linking problem or bad SHLIB_PATH?

Hi,

I am not a DBA but one of my servers run Oracle 8.1.7 (64 bit machine in 64 bit mode)Try the following:
Make sure you have the following variables exported:
export ORACLE_ROOT=/apps/oracle
export ORACLE_HOME=$ORACLE_ROOT/product/8.1.7
export ORACLE_SID=yoursid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

I don't seem to have the SH_LIB_PATH variable exported..

Oracle on my server doesn't seem to use the lib libclntsh.sl.8.0

The closest match:
> lsof|grep "libclntsh"
tnslsnr 1167 oracle txt VREG 0,0 /apps/ora
le/product/8.1.7/lib/libclntsh.so.8.0

My current patch level is 108528-07...

I am not sure if this helps at all..

-Shabu