diff --git a/Changes b/Changes index c17b8867..e5fa0df3 100644 --- a/Changes +++ b/Changes @@ -20,7 +20,7 @@ Changed tests to use ORACLE_DSN or DBI_DSN env vars if defined thanks to Jill Vogel. Updated README.vms re logical name tables thanks to Jakob Snoer. Removed README.utf8 since the topic was covered better in the main docs. - Updated README.aix thanks to Stephen de Vries. + Updated README.aix thanks to Stephen de Vries and Nathan Vonnahme. Updated README.macosx thanks to Stephen de Vries. Renamed README.*'s to add .txt suffix to make life easier for some. diff --git a/Makefile.PL b/Makefile.PL index d80370fc..ff7e0fab 100755 --- a/Makefile.PL +++ b/Makefile.PL @@ -753,10 +753,11 @@ print "\n"; # --- display extra notes and warnings if ($os eq 'aix' and $osvers >= 4 and $Config{cc} ne 'xlc_r') { - print "\n\n"; - print "WARNING: You will may need to rebuild perl using the xlc_r compiler.$BELL\n"; - print " You may also need do: ORACCENV='cc=xlc_r'; export ORACCENV\n"; - print " Also see the README about the -p option\n"; + print "\n"; + print "WARNING: You will may need to rebuild perl using the xlc_r compiler.\a\n"; + print " The important thing is that perl and DBD::Oracle be built with the same compiler.\n"; + print " You may also need to: ORACCENV='cc=xlc_r'; export ORACCENV\n"; + print " Also see README.aix for gcc instructions and read about the -p option.\n"; sleep 5; } diff --git a/README.aix.txt b/README.aix.txt index c3ffffd6..a83bf144 100644 --- a/README.aix.txt +++ b/README.aix.txt @@ -1,7 +1,10 @@ -Compiler: all these examples use xlc_r, except the first which uses Visual Age 7 -and the second which uses GCC. --------------------------------------------------------------------------------------- +DBD::Oracle AIX-specific README + + +Using Visual Age 7 C Compiler +====================================================================================== + - Oracle 9i is only certified as a 64-bit application on AIX 5L (5.1,5.2,5.3) with 32-bit support; in other words, there is no 9i "32-bit" Oracle client - Oracle 10g is certified as both a 64-bit application and a 32-bit Oracle client @@ -32,6 +35,69 @@ I've tested the basics of the DBD-Oracle and it seems fully functional. Stephen de Vries paulhill20@copper.net + + +Using gcc C Compiler +====================================================================================== + + + +DBD::Oracle with gcc and Oracle Instant Client on AIX +-------------------------------------------------------------------------------------- +Nathan Vonnahme Dec 15 2005, 4:28 pm Newsgroups: perl.dbi.users +See: http://groups.google.com/group/perl.dbi.users/msg/0bd9097f80f2c8a9 +[ with updates 1/31/2006 - DBD::Oracle 1.17 doesn't need makefile hacking +to work with instantclient on AIX ] + + +Yes! It eluded me last year but I finally got DBD::Oracle working on an +AIX machine using gcc. Here's the short version: + +First I had to recompile perl with gcc, using + sh Configure -de -Dcc=gcc +This apparently built a 32 bit perl, someday I will try getting it to go +64 bit. + +I was then able to install and build DBI 1.50 with the CPAN shell. + +I downloaded the base and sdk packages of the Oracle Instant Client for +AIX -- first I tried the 64 bit but that didn't work with my 32 bit perl +-- the 32 bit version (still at 10.1.0.3) did the trick. I unzipped +them and moved the dir to /usr/local/oracle/instantclient10_1 and made a +symlink without the version at /usr/local/oracle/instantclient , then +set: + +export ORACLE_HOME=/usr/local/oracle/instantclient +export LIBPATH=$ORACLE_HOME + + + +Oracle wasn't providing the sqlplus package for 32 bit AIX so I +explicitly told Makefile.PL the version: + +perl Makefile.PL -V 10.1 + +make + +My test databases were on other machines so I set these environment variables +to get the tests to run: + +export ORACLE_DSN=DBI:Oracle://host/dbinstance +export ORACLE_USERID="user/password" + +make test +make install + + +NOTE: I have an older full version of Oracle on this machine, and the +ORACLE_HOME environment variable is normally set to point to that, so +my perl scripts that use DBD::Oracle have to make sure to first set + $ENV{ORACLE_HOME}='/usr/local/oracle/instantclient'; + + + + + -------------------------------------------------------------------------------------- The following setup worked to build on AIX 5.2: gcc-3.3.2 (32-bit) (configure opts [ --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as]) @@ -54,6 +120,11 @@ This setup worked with 8.1.7 w/32 bit support, and with 9.2.0 w/ 32-bit support. --Adrian Terranova peril99@yahoo.com + + + +Using xlc_r C Compiler +====================================================================================== -------------------------------------------------------------------------------------- From: Rafael Caceres Date: 22 Jul 2003 10:05:20 -0500