Consultor Eletrônico



Kbase P104405: undefined symbols error messages with oebuild scripts on AIX 64-bit against Oracle 10g
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   18/03/2009
Status: Verified

SYMPTOM(s):

Error occurs when running any script (build_orasrv.sh, build_orarx.sh, ...) located in $DLC/oebuild/make

Undefined symbols: .oexn, .OCIDefineDynamic, .OCIDefineByPos, .OCIBindDynamic, .OCIBindByPos, .OCIBindByName, .OCIStmtFetch, .OCIStmtExecute

The ORALIB environment variable is not defined

In the buildenv.log file, it is stated that the buildenv script has defined ORALIB to $ORACLE_HOME/lib/libclntsh.a

FACT(s) (Environment):

ORACLE_HOME is pointing to the Oracle installation
The OpenEdge installation is a 32-bit version
OpenEdge 10.x
IBM AIX 5L
Oracle 10g
Oracle DataServer

CAUSE:

By default, when ORALIB is not defined, we define it to point to $ORACLE_HOME/lib/libclntsh.a which is a 64 bit version of libclntsh. 32 bit OE objects can not be linked with 64 bit library


FIX:

Define the ORALIB environment variable pointing to the 32-bit version of the 'libclntsh.a' Oracle shared library and to its directory.

Those variables have to be set before running any oebuild scripts.

ORALIB=$ORACLE_HOME/lib32/libclntsh.a

export ORALIB