daryle has asked for the wisdom of the Perl Monks concerning the following question:

Monks, has anyone successfully built 64bit perl with Oracle dbd on AIX? We are running into an issue where perl hits a memory limit and crashes when hashing large files. Ran into the same issue on HP and going to 64bit perl fixed this. We are moving to an ibm p650 and hit the same problem with 32bit perl. Problem is i cannot get the dbd to pass any make tests with 64bit perl on AIX. Any ideas out there? Thanks!!
My setup is this:
AIX 5.1
Oracle 9.2.0.4
Perl 5.8.4
DBI 1.42
DBD Oracle 1.15
Ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 32768
memory(kbytes) unlimited
coredump(blocks) 2097151
nofiles(descriptors) 2000

Replies are listed 'Best First'.
Re: 64bit perl on AIX
by bluto (Curate) on Jun 25, 2004 at 18:20 UTC
    I've built 64bit perl on AIX in the past ok, but have not had reason to try DBD Oracle. As you may already know, AIX has it's own strange way of making things (e.g. dynamic libraries) and I've seen make problems in the past for other modules. Please post more details on the problem you are seeing (e.g. actual make output).

    If you haven't already done so, you may want to see about any open issues on the CPAN page for it. If the problem isn't there, please report it.

      If you try to make with the 64bit perl libs you get this (something in the header files??):
      ld: 0711-738 ERROR: Input file Oracle.o:
      XCOFF32 object files are not allowed in 64-bit mode.
      I have played around with the Makefile, but still get the same XCOFF error.

      So, if you follow the readme.aix and make with the Oracle lib32, you get this:
        When you said "64bit perl" I though you meant 64bitints -- sorry about that. I'm assuming you are building on AIX 5.1 with a 64-bit kernel. Unfortunately, I'm probably not much help there since I've never built under it.

        From the output it looks like the linker doesn't like the Oracle.o object since (I'm guessing again) it was built in 32-bit mode (XCOFF32) and it needs to be built with a 64-bit compiler. Do you know how this object file is generated? If you are generating this during the build, are you using the right compiler version and/or options?