Subject: | Problems building against a 32-bit full Oracle client |
The purpose of the request is to report a problem which occurs when
attempting to build DBD::Oracle 1.34 against a full Oracle 11.2 client
on a 32-bit unix platform, and to suggest a fix for it.
For the record, I am using perl 5.14.2. My 32-bit platform is
Open SUSE 11.4, and my 64-bit platform is SLES 11 SP 1. The
Oracle version is 11.2.0.3.0.
Background:
There are two routes to a successful build on a 64-bit platform.
A. Using the Oracle-recommended make-file.
The make file Oracle recommend for building OCI applications
for Oracle 11 is $ORACLE_HOME/rdbms/demo/. See
http://download.oracle.com/docs/cd/E11882_01/server.112/e10839/prcmp_cll_int.htm#BABDGIDJ
This file is not shipped as part of either the full client or
the server. It is shipped with the 'Database Examples' on
disc 7 of 7. If the examples are installed into the same
ORACLE_HOME as the full client, Makefile.PL will use
$ORACLE_HOME/rdbms/demo/demo_rdbms.mk, and succeed.
B. Without the Oracle-recommended make-file.
If the Oracle-recommended make file is not installed, Makefile.PL
will use instead $ORACLE_HOME/rdbms/lib/ins_rdbms.mk. In this
case Makefile.PL writes an alarming warning message (which will be
the subject of another RT request), but succeeds. A successful
build ensues.
On a 32-bit platform, neither route works. This is because the
required make-files are not included in the list @mk_oci32 at the
beginning of the subroutine find_mkfile in Makefile.PL.
Attached is a patch which which fixed this, and makes both routes
work in a 32-bit context.
Note the necessity to include demo_rdbms.mk in @mk_oci32 after
demo_rdbms32.mk. The use of these file names in Oracle 11 is
documented in the Oracle documentation referenced above.
Subject: | suggested_patch |
Message body not shown because it is not plain text.