Consultor Eletrônico



Kbase 19804: Can't shl_load() libjava.sl - Oracle 8.1.X - HPUX 11
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/15/2008
Status: Verified

FACT(s) (Environment):

ORACLE 8.1.6
ORACLE 8.1.7
Progress 9.1x
HP-UX 11 32-bit

SYMPTOM(s):

unable to connect to ORACLE 8.1.6 or 8.1.7

ORACLE error see "ORACLE Error Messages and Codes Manual". (1252)

The following errors are present when attempting to connect client to Oracle.
/usr/lib/dld.sl: Can't shl_load() a library containing Thread
Local Storage:
/oracle/8.1.6/JRE/lib/PA_RISC
ative_threads/libjava.sl
/usr/lib/dld.sl: Exec format error

ORA-01012: not logged on

Following error in dataserv.lg file

SERVER: Unable to load shared library in dataserver.lg

CAUSE:

The shared library that contains what Hewlett-Packard calls "thread-local storage" cannot be loaded into a running process' address space by the shl_load() call. Such a shared library can be loaded only when the program is initially started.

FIX:

Progress executable must be linked to $ORACLE_HOME/JRE/lib/PA_RISC
ative_threads/libjava.sl so that it can be loaded at startup.

Building a Progress client and/or _orasrv with PROBUILD (configurable elements: ORACLE DATASERVER and TCP/IP) and then editing the link script, adding the following line as the next-to-last line in the $CC command line:

$ORACLE_HOME/JRE/lib/PA_RISC
ative_threads/libjava.sl \

The last three lines of the link read:

-lcl \
$ORACLE_HOME/JRE/lib/PA_RISC
ative_threads/libjava.sl \
$PROLOAD/4gl/libavcall.a \

Make sure you have ORACLE_HOME set to the ORACLE install directory before you run the link script to create the executable.