In general compiling DBD:Oracle for 64 bit machines has been a hit or miss operation. The main thing to remember is you will have to compile using 32 bit Perl and compile DBD::Oracle against a 32bit client which sort of defeats the purpose of having a 64bit box. So until 64bit Perl comes out we will be posing in this README any success stories we have come across -------- Original Message -------- Subject: DBD::Oracle 64-bit success story From: "QiangLi" Date: Thu, March 6, 2008 5:25 pm To: pause@pythian.com Priority: Normal hi, thanks for maintaining DBD::Oracle. I have installed DBD::Oracle against 64-bit oracle 10g on a 64-bit solaris machine. maybe worth another entry for the README.64bit.txt file. i am using gcc from sun freesoftware and also SUNWbinutils which contains the gas (gnu assembler) here is the steps with comment: # set install target % /usr/perl5/5.8.4/bin/perlgcc Makefile.PL PREFIX=/var/tmp/lib # since our perl is 32-bit, we can't build it against a 64bit oracle install. # edit Makefile and change reference to oracle's "lib/" to "lib32/" % perl -pi -e 's/oracle_home\/lib/oracle_home\/lib32/g' Makefile % perl -pi -e 's/oracle_home\/rdbms\/lib/oracle_home\/rdbms\/lib32/g' Makefile % make # ignore error like ORA-12162: TNS:net service name is incorrectly specified... % make test % make install # does it work. % perl -I'/var/tmp/lib/lib/site_perl/5.8.4/sun4-solaris-64int/' -MDBD::Oracle -e1 cheers, Qiang -------- Original Message -------- Subject: Tip: Compiling 32bit modules against 64bit Oracle 10g on solaris Date: Thu, 1 Nov 2007 16:41:28 -0400 From: Edgecombe, Jason To: CC: Hi There, I just wanted to thank both of you. The tip from cartmanltd@hotmail.com was the trick for getting DBD::Oracle compiled in 32bit format against the Oracle 10g client on solaris. Here was the command that worked: perl Makefile.PL -m $ORACLE_HOME/rdbms/demo/demo_rdbms32.mk Even though the tip was for aix, it fixed my build issue on solaris 9 (sparc) I've been banging my head on this problem for a few days. Thanks, Jason Jason Edgecombe Solaris & Linux Administrator Mosaic Computing Group, College of Engineering UNC-Charlotte Phone: (704) 687-3514 Source:Tom Reinertson Platform:Amd64 OS:Gentoo-amd64 The following instructions work for dbd::oracle 1.19 on a gentoo-amd64 installation. 1) install the oracle libraries Strictly speaking you only need dev-db/oracle-instantclient-basic for dbd::oracle, but i always like to have sql*plus lying around, which requires the basic package, so i just install sql*plus. emerge dev-db/oracle-instantclient-sqlplus which also pulls in dev-db/oracle-instantclient-basic. these packages are fetch restricted so you will be required to follow the download instructions. following these instructions, you should have retrieved these packages: instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip instantclient-sdk-linux-x86-64-10.2.0.3-20070103.zip instantclient-sqlplus-linux-x86-64-10.2.0.3-20070103.zip now move them into the /usr/portage/distfiles directory. you should now be able to emerge dev-db/oracle-instantclient-sqlplus. 2) install DBD::Oracle issue the command: perl -MCPAN -e'install DBD::Oracle' this fails with the following error: x86_64-pc-linux-gnu-gcc: unrecognized option '-wchar-stdc++' x86_64-pc-linux-gnu-gcc: unrecognized option '-cxxlib-gcc' cc1: error: /ee/dev/bastring.h: No such file or directory find the offending files in your cpan directory: {~/.cpan/build/DBD-Oracle-1.19} grep -lr cxxlib * Makefile blib/arch/auto/DBD/Oracle/mk.pm mk.pm edit these files and remove the two invalid options and the include of bastring.h. now build the module: perl Makefile.PL -l make # make test generates lots of errors make test make install you should now be ready to run.