IBM Support

TXSeries Oracle samples fails to compile with Oracle11gR2

Troubleshooting


Problem

TXSeries for Multiplatforms provides samples on the usage of databases as a CICS resource manager supporting XA and non XA. Samples provided on using Oracle as resource manager can be found under directory CICS_INSTALL_DIRECTORY/examples/RM_support/Oracle/. These samples can fail to build with Oracle Database 11g Release 2.

Symptom

When the samples provided in CICS_INSTALL_DIRECTORY/examples/RM_support/Oracle/ directory are build using Oracle Database 11g Release 2 database, you might see errors such as:


ld: fatal: library -lclntsh: not found
ld: fatal: File processing errors. No output written to oraclexa_sta

You might also face the same problem with the binary name of the Pro*COBOL Precompiler. You might see the error:

sh: /opt/oracle/app/oracle/product/11.2.0/client_1/bin/procob32: not found

Cause

This error is seen during the build of TXSeries Oracle database samples, with Oracle Database 11g Release 2. This is due to change in Oracle library directory paths.

The samples point to the Oracle library path as ORACLE_HOME/precomp/lib32 or ORACLE_HOME/lib32. In Oracle Oracle Database 11g Release 2, “lib32” has been changed to “lib”.

A similar issue exists when the Pro*COBOL Precompiler is being used. The samples point to the compiler binary name as “procob32”. In Oracle Oracle Database 11g Release 2, “procob32” has now changed to “procob”.

Resolving The Problem

If you are working with TXSeries Oracle database samples, and you are using Oracle Oracle Database 11g Release 2, then make the following changes:

  • Replace any occurrence of “lib32” with “lib” in the variable, which is used for setting the Oracle library path. The variable name can be one of the following:
      • LDFLAGS_ORALIBS_oracle
        LDFLAGS_ORALIBS_XA_oracle
        LDFLAGS_ORALIBS_NONXA_oracle
        LD_FLAGS_oracle
        LD_FLAGS
  • To resolve the Pro*COBOL Precompiler error, replace any occurrence of “procob32” with “procob” in the variable, which is used for setting the precompiler name. The variable can be one of the following:
        PROCOB_COMP32
        ORA_PRECOMP
        ORA10G64_PRECOMP

The sample make files can be found in CICS_INSTALL_DIRECTORY/examples/RM_support/Oracle/.

[{"Product":{"code":"SSAL2T","label":"TXSeries for Multiplatforms"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"CICS","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
02 August 2018

UID

swg21438645