Kbase P76405: HPUX: unable to find library "libwtc9.sl" upon starting progress dataserver executable and connectin
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/27/2004 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1D 64-bit
Oracle 9i
SYMPTOM(s):
Can not load shared library when starting progress and connecting to Oracle
/usr/lib/pa20_64/dld.sl: unable to find library "libwtc9.sl"
Error occurs when connecting to oracle at startup
Error does not occur if starting progress without connecting to Oracle, then connect to Oracle after startup
_progres owned by root and has setuid set
added softlink in /usr/lib for libwtc9.sl, but still getting error
Schema holder is running as server
Taking off setuid results shared memory permission denied error upon connecting to schema holder
chatr $ORACLE_HOME/lib/libclntsh returns wrong embedded path
chatr $ORACLE_HOME/lib/libclntsh
libclntsh.sl:
64-bit ELF shared library
shared library dynamic path search:
LD_LIBRARY_PATH enabled first
SHLIB_PATH enabled second
embedded path enabled third this returns wrong directory
path
internal name:
libclntsh.sl.9.0
shared library list:
libwtc9.sl
librt.2
libnss_dns.1
libdl.1
libm.2
libc.2
libcl.2
shared vtable support disabled
segments:
CAUSE:
Because setuid is set, either LD_LIBRARY_PATH or SHLIB_PATH will be ignored, so the embedded path will be searched but the embedded path is pointing to invalid directory, thus the shared libraries can not be located
FIX:
Three alternatives to address the problem:
1. Leave setuid on, fix the embedded path by regen libclntsh ($ORACLE_HOME/bin/genlibclntsh)
2. Leave setuid on, start up session first, then connect to Oracle. After session starts, effective user id becomes the starter of executable, no longer root anymore, which prevents setuid issue on shared libraries