On Saturday, May 19, 2012 11:27:05 AM UTC-5, Am Nym wrote: > The 64 bit Oracle server is loaded on this host. > > Do I still have to load an Oracle client? > > README.clients.txt says: > > *** THE PREFERED METHOD IS TO USE Oracle Instant Client *** > > So should I install the 'Oracle Instant Client' before attempting > the build of DBD::Oracle?
Thought above post might never show, so I posted to comp.perl.misc, and Ben had a response. Please comment/thanks much: --snip Newsgroups: comp.lang.perl.misc Subject: Re: DBD::Oracle build on aix 6.1 ( host is a 64 bit db server ) From: Am Nym <xtdkmqc -at- gmail _dot_ com> Ben Morrow <ben -at- morrow dot me dot uk> writes: > Quoth xtdkmqc -at- gmail _dot_ com: >> On Saturday, May 19, 2012 2:07:10 PM UTC-5, Ben Morrow wrote: >> > Quoth Am Nym <------@gmail.com>: >> > > The 64 bit Oracle server is loaded on this host. >> > > >> > > Do I still have to load an Oracle client? >> > >> > Is your perl 32bit or 64bit? >> >> $ perl -V >> Summary of my perl5 (revision 5 version 8 subversion 8) configuration: > > (That's pretty old; both 5.8 and 5.10 are unsupported by the perl > developers at this point. You should seriously consider upgrading.) We need to plan for that. > <snip> >> cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE > > That's the system cc. Right, the AIX compiler. >> intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 >> d_longlong=define, longlongsize=8, d_longdbl=define, >> longdblsize=8 ivtype='long', ivsize=4, nvtype='double', >> nvsize=8, Off_t='off_t', > > intsize=4, ivsize=4 and ptrsize=4, so this is an entirely 32bit perl. > (It's possible, at least on some architectures, to build perl to use > 64bit integers even if it's using 32bit pointers.) > >> > Which version of Oracle are you using? >> >> 11g >> >> > The impression I get from README.{clients,aix}.txt is that if your perl >> > is 64bit, or if you have Oracle 10g (which apparently comes with 32bit >> > client libraries), you don't need anything else; >> >> Is there a way to check for the client libs? >> >> The build made it to near the end; it failed w/error: >> >> --snip >> rm -f blib/arch/auto/DBD/Oracle/Oracle.so >> >> LD_RUN_PATH="/products/app/oracle/product/11.2.0/ee_1/lib:/products/app/oracle/product/11.2.0/ee_1/rdbms/lib" >> ld -bhalt:4 -bexpall -G -bnoentry >> -lpthreads -lc Oracle.o dbdimp.o oci8.o /usr/lib/crt0_r.o -o >> blib/arch/auto/DBD/Oracle/Oracle.so >> -L/products/app/oracle/product/11.2.0/ee_1/lib/ -lclntsh -lld -lm -ldl >> -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads >> ld: 0711-736 ERROR: Input file >> /products/app/oracle/product/11.2.0/ee_1/lib//libclntsh.so: >> XCOFF64 object files are not allowed in 32-bit mode. >> make: The error code from the last command is 8. > > Well, that seems fairly unambiguous: the client libs appear to be there, > but they are 64bit so you can't link them with your perl. Thanks. > The first section in README.aix suggests you may have 32bit > libraries in /products/app/oracle/product/11.2.0/ee_1/lib32 and > .../rdbms/lib32; you may be able to edit the Makefile to link > against them instead, There is no lib32 dir or sym link: # 15:39:12 Sun 120520 0j 0 48890062 # /products/app/oracle/product/11.2.0 # ourdbserver02 txr6 $ find . 2>/dev/null |grep 'lib$' |wc -l 114 # 15:39:28 Sun 120520 0j 0 48890062 # /products/app/oracle/product/11.2.0 # ourdbserver02 txr6 $ find . 2>/dev/null |grep lib32 # 15:40:06 Sun 120520 0j 0 48890062 /products/app/oracle/product/11.2.0 # ourdbserver02 txr6 $ > but tbh it's probably easier just to install the Instant Client. (Unless > that's > something you have to pay for separately?) I'm not sure. Last Friday we were thinking we would install the "normal" 32 bit client, that we install on other AIX hosts. Will ask at work about the Instant Client. -- thanks again,