Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: oracle 9.2 rtsora build problem

Re: oracle 9.2 rtsora build problem

From: Sybrand Bakker <postbus_at_sybrandb.demon.nl>
Date: Thu, 16 Feb 2006 20:03:38 +0100
Message-ID: <qri9v1lsgfqfta2hpousefpivukok8q44g@4ax.com>


On Thu, 16 Feb 2006 16:14:34 +0000, "[ste parker]" <imaginey_at_hotmail.com> wrote:

>First up, apologies if my wording of this is incorrect, I'm not a DBA,
>I'm basically looking for a greater understanding of a current
>situation. The system in question is AIX 5.2 (64-bit kernel mode) with
>Oracle 9.2.0 (again, 64-bit) and I have a requirement for Oracle
>Pro*COBOL to be installed on the system (specifically for use of
>rtsora), however a 32-bit version of rtsora is needed, also MicroFocus
>COBOL 2.2 (32-bit) with fixpack 8 has also been successfully
>preinstalled. The requirements may seem strange I know, but they are a
>requirement of the software that is to be run.
>
>
>The DBA tasked with the installation of Oracle Pro*COBOL reported that
>the linking or rtsora failed, and that this is due to a bug which will
>be fixed once the 9.2.0.6 fix pack is applied.
>
> From the relevant make.log:
>
>/usr/ccs/bin/make -f ins_precomp.mk relink
>ORACLE_HOME=/oracle/local/product/9.2.0 EXENAME=rtsora
>Linking /oracle/local/product/9.2.0/precomp/lib/rtsora
>cob32: bad magic number:
>/oracle/local/product/9.2.0/precomp/lib/cobsqlintf.o
>make: The error code from the last command is 1.
>
>
>However, when I checked in $ORACLE_HOME/bin I found:
>
>merchadm_at_pmkmerdev>file rtsora
>rtsora: executable (RISC System/6000) or object module
>merchadm_at_pmkmerdev>file proc
>proc: 64-bit XCOFF executable or object module not stripped
>
>
>The first question I have is, is the failure seen in make.log just in
>the build of the 64-bit rtsora executable (and failing due to a 32-bit
>COBOL compiler being present on the system?), and what produced the
>32-bit rtsora executable which is present (it was *not* present at all
>before this installation took place)? The 32-bit rtsora which is
>present also seems to be functioning correctly (although I carried out
>only very basic testing).
>
>
>Next up, the DBA is reporting that the 32-bit precompiler libraries are
>not present. However:
>
>user_at_dev>cd $ORACLE_HOME/precomp/lib32
>user_at_dev>ls -l
>total 5432
>-rw-r--r-- 1 oracle dba 13772 Apr 26 2002 cobsqlintf.o
>-rw-rw-r-- 1 oracle dba 287270 Oct 21 2004 libmod.a
>-rw-rw-r-- 1 oracle dba 161327 Oct 21 2004 libots2c.a
>-rw-rw-r-- 1 oracle dba 355959 Oct 21 2004 libpcc.a
>-rw-rw-r-- 1 oracle dba 122289 Oct 21 2004 libpco.a
>-rw-rw-r-- 1 oracle dba 100476 Oct 21 2004 libpfo.a
>-rw-rw-r-- 1 oracle dba 141889 Oct 21 2004 libpgp.a
>-rw-rw-r-- 1 oracle dba 779930 Oct 21 2004 libproc2.a
>-rw-rw-r-- 1 oracle dba 599098 Oct 21 2004 libprocob2.a
>-rw-rw-r-- 1 oracle dba 44211 Oct 21 2004 libpsd.a
>-rw-rw-r-- 1 oracle dba 11617 Oct 21 2004 pda.o
>-rw-rw-r-- 1 oracle dba 31185 Oct 21 2004 pdb.o
>-rw-rw-r-- 1 oracle dba 29862 Oct 21 2004 pdc.o
>-rw-rw-r-- 1 oracle dba 21180 Oct 21 2004 pdf.o
>-rw-rw-r-- 1 oracle dba 4721 Oct 21 2004 pds.o
>-rw-r--r-- 1 oracle dba 4619 Apr 26 2002 pm.o
>-rw-rw-r-- 1 oracle dba 19087 Oct 21 2004 pmsapr.o
>-rw-r--r-- 1 oracle dba 956 Apr 26 2002 spc0drv.o
>-rw-r--r-- 1 oracle dba 956 Apr 26 2002 spc1drv.o
>-rw-r--r-- 1 oracle dba 956 Apr 26 2002 spcbd.o
>-rw-r--r-- 1 oracle dba 956 Apr 26 2002 spmmain.o
>
>Am I incorrect in assuming that these are the 32-bit precompiler
>libraries? If they are not the 32-bit precompiler libraries, what are they?
>
>Thanks for any answers anyone can offer, as I said I'm just trying to
>increase my knowledge of what's going on in case I encounter the same
>elsewhere!

In 64-bit Oracle the .../lib directories have 64 bit libraries, lib32 have the 32-bit libraries. In 32-bit Oracle lib has 32-bit libraries and lib64 64-bit libraries.
In both environment the default LD_LIBRARY_PATH has been set to the lib directory, so to 64-bit libraries in your case. You probably need to muck around with LD_LIBRARY_PATH to convince the make file to take 32-bit libraries, ie make sure LD_LIBRARY_PATH points to $ORACLE_HOME/lib32 first.
And yes: those are definitely the 32-bit libraries. Did you try the nm -a command on any of them? IIRC, this will show which externals are exposed.

--
Sybrand Bakker, Senior Oracle DBA
Received on Thu Feb 16 2006 - 13:03:38 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US