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