Compiler: all these examples use xlc_r, except the first which uses gcc. -------------------------------------------------------------------------------------- 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]) Oracle-9.2.0 ( full install w/32bit support) perl-5.8.3 (built with above gcc/latest stable as of March 2004) Followed the directions from Rafael's email below, only set ORACLE_HOME, (and the appropriate test environmentals). 1) build perl-5.8.3 with gcc 2) install DBI 3) ORACLE_HOME="your oracle home" ORACLE_USERID.. ORACLE_SID .. (I ignored ORACCENV, didn't use it.) 4) install DBD::Oracle, after perl Makefile.PL, edit the created Makefile, changing references to Oracle's ../lib to ../lib32. and change crt0_64.o to crt0_r.o. Remove the -q32 and/or -q64 options from the list of libraries to link with. 5) make should be clean, make test should pass. 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 -------------------------------------------------------------------------------------- From: Rafael Caceres Date: 22 Jul 2003 10:05:20 -0500 Message-Id: <1058886321.1066.13.camel@rcaceres.aasa.com.pe> The following sequence worked for me on AIX 5.1: -use Perl 5.8.0 (the latest stable from CPAN) -use the xlc_r version of IBM's compiler and build a 32 bit Perl (which xlc_r will do by default). All tests should be successful. -get and install DBI -get DBD::Oracle. Edit the Makefile.PL or Makefile for DBD::Oracle, changing references to Oracle's ../lib to ../lib32. and change crt0_64.o to crt0_r.o. Remove the -q32 and/or -q64 options from the list of libraries to link with. Do the make and make test. -Set up the environment for making DBD::Oracle: ORACLE_HOME="your oracle home" ORACCENV = "xlc_r" ORACLE_USERID.. ORACLE_SID .. -Run make, all tests should be successfull -against Oracle 9.x at least. You should have no problems with Oracle 8.1.7, but accessing Oracle 7.x or previous is not possible (you'll core dump, or simply hang). The same goes for a Linux build or a Digital build, regarding access of different Oracle versions. Rafael Caceres On Tue, 2003-07-22 at 08:12, mpaladino@invacare.com wrote: > > I dont believe I compiled Oracle. During the installation it was linked > but I am not sure it was compiled > > I used a xlc compiler to compile PERL. > Got this message in the Perl Makefile.PL output > > Warning: You will may need to rebuild perl using the xlc_r compiler. > You may also need do: ORACCENV='cc=xlc_r'; export ORACCENV > Also see the README about the -p option > > this probobly means I need to rebuild PERL with xlc_r?? > > thanx > > Mike Paladino > Database Administrator From: Rafael Caceres > > Make sure you use the same compiler to build Oracle and Perl. We have > used xlc_r on Aix 5.1 with no problems. Your Perl build is 32 bit, so > when building DBD::Oracle, you should use the 32bit libraries (change > references to .../oracle/lib to .../oracle/lib32 in your Makefile). > Remove the references to the -q64 or -q32 parameters for ld in Makefile, > as they shouldn't be there. > > Rafael Caceres From: "cartman ltd" Subject: Tip for DBI and DBD::Oracle on AIX 5.1 and Oracle 9.2 Date: Mon, 11 Aug 2003 18:15:38 +0000 Message-ID: Here is a tip for compiling DBD::Oracle as a 32 bit application on AIX 5.1 64 bit and Oracle 9.2 64 bit without editting any makefiles. I hope people find this useful: First, the versions of products I used: DBI version 1.32 DBD::Oracle version 1.14 Oracle 9.2.0.2 - default 64 bit application with 32 bit libraries AIX 5.1 ML03 - 64 bit kernel - ships with Perl as a 32 bit application. VisualAge C/C++ 5.0.2 Basically DBD must be compiled as 32 bit to link with Perl's 32 bit libraries. gunzip -c DBD-Oracle-1.14.tar.gz | tar xvf  cd DBD-Oracle-1.14 perl Makefile.PL -m $ORACLE_HOME/rdbms/demo/demo_rdbms32.mk make NB: I think there is a bug in the Oracle 9.2.0.3 file $ORACLE_HOME/rdbms/lib/env_rdbms.mk I corrected this (before running the above commands) by replacing the invalid linker option LDFLAGS32=-q32 with LDFLAGS32=-b32 Have fun: KC. -------------------------------------------------------------------------------------- Date: Wed, 30 Jun 2004 23:34:24 -0500 From: "SCHULTZ, DARYLE (SBCSI)" Got it to work. Using dbd 1.16 Perl 5.8.4 built like this, with Visual Age 6.0: config_args='-Dcc=xlc_r -Dusenm -Dprefix=/appl/datasync/work/perl5 -Dusethreads -Duse64bitall -des' ============================================== Used DBI 1.42 ============================================= Added this to top of Oracle.h: #define A_OSF #include ======================= Set LIBPATH to point to 64bit Oracle libs first. export LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/lib Use: perl Makefile.PL -nob Change all references in Makefile of LD_RUN_PATH to be LIBPATH. Change nothing else, left all flags in Makefile, including -q64. Passed make, and all tests. --------------------------------------------------------------------------------------