RE: DBD installtion 11G R2 (64Bit) & 32 bit perl version
That will be a bit of a problem and a bugger to fix. I can only offer a general solution as each case is different but the short answer is yes you can run 32bit perl and 64 bit oracle together. 1) you have to get the 32bit oracle instant client for the version of oracle you want to use 2) that 32 bit client has to work on the 32 bit platform (test this with the sqlplus that come with it) 3) you will have to recompile reinstall your DBD for the 32 bit instanctclient with 'make' 4) when you run your perl make sure it uses the ORACLE_HOME of the 32 bit instant client cheers John From: anoop.ku...@nawras.om To: dbi-users@perl.org CC: go...@bildbasen.kiruna.se; jlip...@coefmd3.uswc.uswest.com; z50...@mip.lasc.lockheed.com; verb...@be.oracle.com; mou...@hometown.com; stephen.zan...@mckesson.com; earle.niet...@es.unisys.com; desca...@hermetica.com; carl...@tis.llnl.gov; d...@fndapl.fnal.gov; asloo...@alfabank.ru; t...@cpan.org; byter...@cpan.org; yan...@cpan.org; mjev...@cpan.org Subject: RE: DBD installtion 11G R2 (64Bit) & 32 bit perl version Date: Thu, 23 May 2013 14:03:09 + Hi Support, Please help me to solve this.. LD_RUN_PATH="/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib" ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads ld: 0711-736 ERROR: Input file /lib/crt0_64.o: XCOFF64 object files are not allowed in 32-bit mode. make: 1254-004 The error code from the last command is 8. Stop. After researching I could find this ,, But issue is that with 11gR2 onwards lib32 is not installing by default so need to install and configure seperatly its very difficuilt task for DBA.. Is DBD 64bit is available?? The problem looks like Perl and DBI run in 32-bit mode, but Oracle 9i installs as 64-bit. (Oracle 8 installed as 32-bit.) I saved the following email with the solution in my bag of tricks. This message was for Solaris, which is what I am using. A week or so ago, it also worked for hpux. Hopefully it will work for you on AIX. = Our solution: afer Makefile.PL creates the makefile, edit it in vi. Replace '911/lib' with '911/lib32' everywhere Replace 'rdbms/lib' with 'rdbms/lib32' everywhere. Then do your make. To really fix this will take someone who knows Makefile.PL to apply a patch detect the 64bit version of Oracle9i(the presense of lib32's is a tip off). In the mean time we applied a quick script to do it in our install/distribution scripts. From: Anoop Kumar Paramesweran Sent: Thursday, May 23, 2013 4:25 PM To: 'dbi-users@perl.org' Subject: DBD error Hi Support, I am receiving following error while installing DBD Perl module on IBM AIX 7.1 .Please help me to solve this.. bash-3.2# perl Makefile.PL Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/ Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi) Remember to actually *READ* the README file! Especially if you have any problems. Installing on a aix, Ver#5.3 Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1 DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR) Oracle version 11.2.0.3 (11.2) Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk Your LIBPATH env var is set to '/u01/app/oracle/product/11.2.0/dbhome_1/lib' Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk Deleting -b64 from COMPOBJS because -b64 doesn't exist. WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk doesn't define a 'build' rule. WARNING: I will now try to guess how to build and link DBD::Oracle for you. This kind of guess work is very error prone and Oracle-version sensitive. It is possible that it won't be supported in future versions of DBD::Oracle. *PLEASE* notify dbi-users about exactly _why_ you had to build it this way. Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public. client_version=11.2 DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 -DORA_OCI_112 Checking for functioning wait.ph System: perl5.010001 aix dennis01 3 5 00c72e9a4c00 Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-
Re: DBD installtion 11G R2 (64Bit) & 32 bit perl version
You will need a 64-bit Perl (and 64-bit DBI) to work with 64-bit Oracle and hence 64-bit DBD::Oracle. Or you can go 32-bit for everything if there's a 32-bit Oracle client you can install. What you can't do is have some 32-bit code and some 64-bit code built into (or loaded into, since most of this is dynamically loaded) the same executable. All 32-bit or all 64-bit; not a mixture. (Addressee list trimmed.) On Thu, May 23, 2013 at 7:03 AM, Anoop Kumar Paramesweran < anoop.ku...@nawras.om> wrote: > Hi Support, > > > > Please help me to solve this.. > > > LD_RUN_PATH="/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib" > ld -bhalt:4 -G > -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp > -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o > /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so > -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc > -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads > > ld: 0711-736 ERROR: Input file /lib/crt0_64.o: > > XCOFF64 object files are not allowed in 32-bit mode. > > make: 1254-004 The error code from the last command is 8. > > > > > > Stop. > > > > > > After researching I could find this ,, But issue is that with 11gR2 > onwards lib32 is not installing by default so need to install and configure > seperatly its very difficuilt task for DBA.. > > > > Is DBD 64bit is available?? > > > > The problem looks like Perl and DBI run in 32-bit mode, but Oracle 9i > > installs > > as > > 64-bit. (Oracle 8 installed as 32-bit.) I saved the following email > > with the > > solution > > in my bag of tricks. This message was for Solaris, which is what I am > > using. > > A > > week or so ago, it also worked for hpux. Hopefully it will work for you > > on > > AIX. > > = > > Our solution: > > afer Makefile.PL creates the makefile, edit it in vi. > > Replace '911/lib' with '911/lib32' everywhere > > Replace 'rdbms/lib' with 'rdbms/lib32' everywhere. > > Then do your make. > > To really fix this will take someone who knows Makefile.PL to apply a > > patch > > detect the 64bit version of Oracle9i(the presense of lib32's is a tip > > off). > > In the mean time we applied a quick script to do it in our > > install/distribution scripts. > > > > > > > > > > > > > > > > *From:* Anoop Kumar Paramesweran > *Sent:* Thursday, May 23, 2013 4:25 PM > *To:* 'dbi-users@perl.org' > *Subject:* DBD error > > > > Hi Support, > > > > I am receiving following error while installing DBD Perl module on IBM AIX > 7.1 .Please help me to solve this.. > > > > bash-3.2# perl Makefile.PL > > Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in > /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/ > > > > Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi) > > > > Remember to actually *READ* the README file! Especially if you have any > problems. > > > > Installing on a aix, Ver#5.3 > > Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1 > > DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR) > > Oracle version 11.2.0.3 (11.2) > > Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk > > Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk > > Your LIBPATH env var is set to > '/u01/app/oracle/product/11.2.0/dbhome_1/lib' > > Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk > > Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk > > Deleting -b64 from COMPOBJS because -b64 doesn't exist. > > WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ > ins_rdbms.mk doesn't define a 'build' rule. > > > > WARNING: I will now try to guess how to build and link DBD::Oracle for you. > > This kind of guess work is very error prone and Oracle-version > sensitive. > > It is possible that it won't be supported in future versions of > DBD::Oracle. > > *PLEASE* notify dbi-users about exactly _why_ you had to build it > this way. > > > > Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public. > > > > client_version=11.2 > > > > > > DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 > -DORA_OCI_112 > > > > > > Checking for functioning wait.ph > > > > > > System: perl5.010001 aix dennis01 3 5 00c72e9a4c00 > > Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE > -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT > -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong > > Linker: /usr/bin/ld > > Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld > -lperfstat > > Oracle makefiles would have used these definitions but we override them: > > CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS) > > CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\ > > $(SH
RE: DBD installtion 11G R2 (64Bit) & 32 bit perl version
Hi Support, Please help me to solve this.. LD_RUN_PATH="/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib" ld -bhalt:4 -G -bI:/usr/opt/perl5/lib/5.10.1/aix-thread-multi/CORE/perl.exp -bE:Oracle.exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib Oracle.o dbdimp.o oci8.o /lib/crt0_64.o -o blib/arch/auto/DBD/Oracle/Oracle.so -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lclntsh -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads ld: 0711-736 ERROR: Input file /lib/crt0_64.o: XCOFF64 object files are not allowed in 32-bit mode. make: 1254-004 The error code from the last command is 8. Stop. After researching I could find this ,, But issue is that with 11gR2 onwards lib32 is not installing by default so need to install and configure seperatly its very difficuilt task for DBA.. Is DBD 64bit is available?? The problem looks like Perl and DBI run in 32-bit mode, but Oracle 9i installs as 64-bit. (Oracle 8 installed as 32-bit.) I saved the following email with the solution in my bag of tricks. This message was for Solaris, which is what I am using. A week or so ago, it also worked for hpux. Hopefully it will work for you on AIX. = Our solution: afer Makefile.PL creates the makefile, edit it in vi. Replace '911/lib' with '911/lib32' everywhere Replace 'rdbms/lib' with 'rdbms/lib32' everywhere. Then do your make. To really fix this will take someone who knows Makefile.PL to apply a patch detect the 64bit version of Oracle9i(the presense of lib32's is a tip off). In the mean time we applied a quick script to do it in our install/distribution scripts. From: Anoop Kumar Paramesweran Sent: Thursday, May 23, 2013 4:25 PM To: 'dbi-users@perl.org' Subject: DBD error Hi Support, I am receiving following error while installing DBD Perl module on IBM AIX 7.1 .Please help me to solve this.. bash-3.2# perl Makefile.PL Using DBI 1.625 (for perl 5.010001 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi/auto/DBI/ Configuring DBD::Oracle for perl 5.010001 on aix (aix-thread-multi) Remember to actually *READ* the README file! Especially if you have any problems. Installing on a aix, Ver#5.3 Using Oracle in /u01/app/oracle/product/11.2.0/dbhome_1 DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR) Oracle version 11.2.0.3 (11.2) Found /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk Using /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk Your LIBPATH env var is set to '/u01/app/oracle/product/11.2.0/dbhome_1/lib' Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk Reading /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk Deleting -b64 from COMPOBJS because -b64 doesn't exist. WARNING: Oracle /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk doesn't define a 'build' rule. WARNING: I will now try to guess how to build and link DBD::Oracle for you. This kind of guess work is very error prone and Oracle-version sensitive. It is possible that it won't be supported in future versions of DBD::Oracle. *PLEASE* notify dbi-users about exactly _why_ you had to build it this way. Found header files in /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public. client_version=11.2 DEFINE= -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.3\" -DORA_OCI_102 -DORA_OCI_112 Checking for functioning wait.ph System: perl5.010001 aix dennis01 3 5 00c72e9a4c00 Compiler: xlc_r -q32 -O -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -qlanglvl=extended -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong Linker: /usr/bin/ld Sysliblist: /lib/crt0_64.o -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat Oracle makefiles would have used these definitions but we override them: CC: $(ORACLE_HOME)/bin/oraxlc $(ORAXLCFLAGS) CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\ $(SHARED_CFLAG) $(USRFLAGS) [$(GFLAG) -O3 $(CDEBUG) -q64 -DSS_64BIT_SERVER -qwarn64 -qinfo=uni -DAIXRIOS -qflag=s:s -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/demo -I/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/public -I/u01/app/oracle/product/11.2.0/dbhome_1/plsql/public -I/u01/app/oracle/product/11.2.0/dbhome_1/network/public -DLDAP_CM $(LPFLAGS) $(PLSQLNCGFLAGS) $(USRFLAGS)] LDFLAGS: -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) [-o $@ -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L$(LIBHOME)] Linking with /lib/crt0_64.o -lclntsh -brtl -lld -lm -ldl -lc -lm -lpthreads -lodm -lbsd_r -lld -lperfstat -lm -lpthreads [from $(OCISHAREDLIBS)] WARNING: You will may need to rebuild perl using the xlc_r compiler. The important thing is that perl and DBD::Oracle be built with the same compiler. You may also need