Consultor Eletrônico



Kbase P71977: Error connecting to Oracle 9.0.1 on Linux advanced server 2.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/12/2004
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.0A

FACT(s) (Environment):

Oracle 9i

FACT(s) (Environment):

Oracle DataServer

FACT(s) (Environment):

RedHat Linux Advanced Server 2.1

SYMPTOM(s):

Error connecting to Oracle 9.0.1 on Linux advanced server 2.1

Could not open Dynamic Library: <libraryName> (8013)

DLL Error : <dllerror> (8014)

Oracle error - 1012 see "Oracle Error Messages and Codes Manual". (1252)

SYSTEM ERROR: Memory violation. (49)

Could not open Dynamic Library:
/xxx/xxx/oracle/client/9.0.1/lib/libclntsh.so (8013)
DLL Error : /xxx/xxx/oracle/client/9.0.1/lib/libclntsh.so:
undefined symbol: __cmpdi2 (8014)
ORACLE error -1012 see "ORACLE Error Messages and Codes Manual". (1252)
SYSTEM ERROR: Memory violation. (49)

Oracle 9.0.1 client is used

Linux AS 2.1

Can connect to Oracle from sqlplus

CAUSE:

Bug # 20031124-029

FIX:

Rebuild libclntsh.so

1. cd $ORACLE_HOME/bin
2. Back up libclntsh.so and genclntsh script
3. MOdify genclntsh as following

Sample of original content:
---------------------------
#LD="ld -i -G -z text -L${ORACLE_HOME}/lib" # shared library link command
LD="ld -shared -L${ORACLE_HOME}/lib" # shared library link command
LD_RUNTIME="-R${ORACLE_HOME}/lib"
LD_OPT="-Map ${MAPFILE} -h ${CLNT_LIB}" # name inserted into library
LD_SELF_CONTAINED="-z defs"

Change to:
----------
LD="gcc -shared -L${ORACLE_HOME}/lib" # shared library link command
LD_RUNTIME="-Xlinker -R${ORACLE_HOME}/lib"
LD_OPT="-Xlinker -Map -Xlinker ${MAPFILE} -Xlinker -h -Xlinker ${CLNT_LIB}"
# name inserted into library
LD_OUT="-o ${LIB_DIR}/${CLNT_LIB}" # output specification
#LD_SELF_CONTAINED="-Xlinker -z -Xlinker defs"

4. Run genclntsh to regenerate libclntsh
5. Reconnect to Oracle