Building DBD::Oracle against Oracle full installs.

Charles Jardine <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
Operating System: SLES 11 SP 2 on x86-64
            Perl: 5.14.2
          Oracle: 11.2.0.3.0
     DBD::Oracle: 1.34

If I try to build DBD::Oracle against a Server installation of Oracle,
the output of Makefile.PL includes the following strong warning message
mentioning this mailing list. Despite the warning message, the build
is successful.

> + /usr/local/perl/5.14.2-A/bin/perl Makefile.PL
> Using DBI 1.616 (for perl 5.014002 on x86_64-linux-thread-multi) installed in /usr/local/perl/5.14.2-A/lib/site_perl/5.14.2/x86_64-linux-thread-multi/auto/DBI/
> 
> Configuring DBD::Oracle for perl 5.014002 on linux (x86_64-linux-thread-multi)
> 
> Remember to actually *READ* the README file! Especially if you have any problems.
> 
> Installing on a linux, Ver#2.6
> Using Oracle in /oracle/base/orahome/11.2.0.3.0
> DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR)
> Oracle version 11.2.0.3 (11.2)
> Found /oracle/base/orahome/11.2.0.3.0/rdbms/lib/ins_rdbms.mk
> Using /oracle/base/orahome/11.2.0.3.0/rdbms/lib/ins_rdbms.mk
> Your LD_LIBRARY_PATH env var is set to ''
> WARNING: Your LD_LIBRARY_PATH env var doesn't include '/oracle/base/orahome/11.2.0.3.0/lib' but probably needs to.
> Reading /oracle/base/orahome/11.2.0.3.0/rdbms/lib/ins_rdbms.mk
> Reading /oracle/base/orahome/11.2.0.3.0/rdbms/lib/env_rdbms.mk
> WARNING: Oracle /oracle/base/orahome/11.2.0.3.0/rdbms/lib/ins_rdbms.mk doesn't define a 'build' rule.
> 
> WARNING: I will now try to guess how to build and link DBD::Oracle for you.^G
>          This kind of guess work is very error prone and Oracle-version sensitive.
>          It is possible that it won't be supported in future versions of DBD::Oracle.
>          *PLEASE* notify dbi-users about exactly _why_ you had to build it this way.
> 
> Found header files in /oracle/base/orahome/11.2.0.3.0/rdbms/public.
> 
> client_version=11.2


If I try to build against a full Oracle client installation,
I get the following fatal error. However, if I follow the advice
given in the error message, and add the following option to the Makefile.PL

 -m /local/oracle/client.11.2.0.3.0/rdbms/lib/ins_rdbms.mk

the behaviour changes, and I get a warning like the one above, and a
successful build.

> + /local/oracle/perl/5.14.2-A/bin/perl Makefile.PL
> Using DBI 1.616 (for perl 5.014002 on i686-linux-thread-multi) installed in /local/oracle/perl/5.14.2-A/lib/site_perl/5.14.2/i686-linux-thread-multi/auto/DBI/
> 
> Configuring DBD::Oracle for perl 5.014002 on linux (i686-linux-thread-multi)
> 
> Remember to actually *READ* the README file! Especially if you have any problems.
> 
> Installing on a linux, Ver#2.6
> Using Oracle in /local/oracle/client.11.2.0.3.0
> DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR)
> Oracle version 11.2.0.3 (11.2)
> 
>         Unable to locate an oracle.mk or other suitable *.mk
>         file in your Oracle installation.  (I looked in
>         /local/oracle/client.11.2.0.3.0/rdbms/demo/demo_xe.mk /local/oracle/client.11.2.0.3.0/rdbms/demo/demo_rdbms32.mk under /local/oracle/client.11.2.0.3.0)
> 
>         The oracle.mk (or demo_rdbms.mk) file is part of the Oracle
>         RDBMS product.  You need to build DBD::Oracle on a
>         system which has one of these Oracle components installed.
>         (Other *.mk files such as the env_*.mk files will not work.)
>         Alternatively you can use Oracle Instant Client.
> 
>         In the unlikely event that a suitable *.mk file is installed
>         somewhere non-standard you can specify where it is using the -m option:
>                 perl Makefile.PL -m /path/to/your.mk
> 
>         See the appropriate README file for your OS for more information and some alternatives.
> 
>      at Makefile.PL line 1185.

What am I doing wrong?

-- 
Charles Jardine - Computing Service, University of Cambridge
[email protected]    Tel: +44 1223 334506, Fax: +44 1223 334679
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.