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

Hello Every one
I am trying to install DBD::Oracle on my windows 7 64 bit system and getting error.
Following is configuration of my system:
Windows 7 Enterprise 64 bit
Intel Core i5-3470 @ 3.2ghz
16GB ram
Oracle variables
ORACLE_BASE=G:\Oracle
ORACLE_DSN=DBI:Oracle:localhost;sid=silo
ORACLE_HOME=G:\Oracle\product\11.2.0\client_1
ORACLE_SID=silo
I have installed Oracle 11g Enterprise system on my local m/c

LD_LIBRARY_PATH=G:\Oracle\product\11.2.0\client_1\OCI\lib\MSVC;G:\Oracle\product\11.2.0\client_1\LIB;
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252

Following steps I have performed:

  1. Created temp directory
  2. G:\temp\>cpan
  3. cpan> get DBD::Oracle
  4. Copied DBD Oracle to temp directory
  5. G:\temp\DBD-Oracle-1.74>perl Makefile.PL
    Output:
    G:\temp\DBD-Oracle-1.74>perl Makefile.PL -d Multiple copies of Driver.xst found in: C:/perl/perl/site/lib/auto/DBI +/ C:/perl/perl/vendor/lib/auto/DBI/ at Makefile.PL line 39. Using DBI 1.631 (for perl 5.018002 on MSWin32-x64-multi-thread) instal +led in C:/perl/perl/site/lib/auto/DBI/ Configuring DBD::Oracle for perl 5.018002 on MSWin32 (MSWin32-x64-mult +i-thread) Remember to actually *READ* the README file! Especially if you have an +y problems. Installing on a MSWin32, Ver#6.2 Using Oracle in G:/Oracle/product/11.2.0/client_1 PATH=G:/Oracle/product/11.2.0/client_1/bin;G:/Oracle/product/11.2.0/cl +ient_1;G:\Oracle\product\11.2.0\client_1\bin;C:\Program Files (x86)\G +oogle\Chrome\Application;C:\windows\system32;C:\windows;C:\windows\Sy +stem32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Fi +les\Symantec\Workspace Virtualization\;C:\Program Files (x86)\Enterprise Vault\EVClient\;C:\P +rogram Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Microso +ft Office\Office14;C:\perl\perl\bin;G:\Software\x64-4.8.1-release-win +32-sjlj-rev5\mingw64\bin;C:\perl\c\bin;C:\Ruby200-x64\bin;G:\Program +Files (x86)\WinMerge;G: \xampp\mysql\bin;G:\Program Files\Perforce;G:\Program Files\Collaborat +or Client;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\ +Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin DEFINE _SQLPLUS_RELEASE = "1102000100" (CHAR) Oracle version 11.2.0.1 (11.2) Found OCI directory Using OCI directory 'OCI' client_version=11.2 DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"11.2.0.1 +\" -DORA_OCI_102 -DORA_OCI_112 Checking for functioning wait.ph System: perl5.018002 Win32 strawberry-perl 5.18.2.1 #1 Tue Jan 7 22:3 +2:35 2014 x64 Compiler: gcc -s -O2 -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_ +TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PE +RLIO -fno-strict-aliasing -mms-bitfields Linker: not found Sysliblist: MakeMaker (v6.84) Checking if your kit is complete... Looks good ABSTRACT_FROM => q[lib/DBD/Oracle.pm] AUTHOR => [q[Tim Bunce (dbi-users@perl.org)]] BUILD_REQUIRES => { } CONFIGURE_REQUIRES => { } DEFINE => q[ -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"1 +1.2.0.1\" -DORA_OCI_102 -DORA_OCI_112] DIR => [] INC => q[-IG:/Oracle/product/11.2.0/client_1/OCI/include -IG:/Oracle +/product/11.2.0/client_1/rdbms/demo -IC:\perl\perl\site\lib\auto\DBI] LIBS => [q[-LG:/temp/DBD-Oracle-1.74 -loci]] LICENSE => q[perl] META_MERGE => { resources=>{ repository=>{ url=>q[git://github.com/y +anick/DBD-Oracle.git], type=>q[git], web=>q[http://github.com/yanick/ +DBD-Oracle/tree] }, bugtracker=>{ web=>q[http://rt.cpan.org/Public/Di +st/Display.html?Name=DBD-Oracle], mailto=>q[bug-dbd-oracle at rt.cpan +.org] }, homepage=>q[ht tp://search.cpan.org/dist/DBD-Oracle] }, configure_requires=>{ DBI=>q[ +1.51] }, build_requires=>{ Test::Simple=>q[0.90], ExtUtils::MakeMaker +=>q[0], DBI=>q[1.51] } } NAME => q[DBD::Oracle] OBJECT => q[$(O_FILES)] PREREQ_PM => { DBI=>q[1.51] } TEST_REQUIRES => { } VERSION_FROM => q[lib/DBD/Oracle.pm] clean => { FILES=>q[xstmp.c Oracle.xsi dll.base dll.exp sqlnet.log l +ibOracle.def mk.pm DBD_ORA_OBJ.*] } dist => { PREOP=>q[$(MAKE) -f Makefile.old distdir], SUFFIX=>q[gz], +DIST_DEFAULT=>q[clean distcheck disttest tardist], COMPRESS=>q[gzip - +v9] } Using PERL=C:\perl\perl\bin\perl.exe Potential libraries are '-LG:/temp/DBD-Oracle-1.74 -loci -lmoldname -l +kernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 +-lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion + -lodbc32 -lodbccp32 -lcomctl32': '-loci' found as 'liboci.a' '-lmoldname' not found as 'libmoldname.a' '-lmoldname' not found as 'G:/temp/DBD-Oracle-1.74\libmoldname.a' '-lmoldname' not found as 'C:/perl/c/lib\libmoldname.a' '-lmoldname' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libmoldname.a' '-lkernel32' not found as 'libkernel32.a' '-lkernel32' not found as 'G:/temp/DBD-Oracle-1.74\libkernel32.a' '-lkernel32' not found as 'C:/perl/c/lib\libkernel32.a' '-lkernel32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libkernel32.a' '-luser32' not found as 'libuser32.a' '-luser32' not found as 'G:/temp/DBD-Oracle-1.74\libuser32.a' '-luser32' not found as 'C:/perl/c/lib\libuser32.a' '-luser32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libuser32.a' '-lgdi32' not found as 'libgdi32.a' '-lgdi32' not found as 'G:/temp/DBD-Oracle-1.74\libgdi32.a' '-lgdi32' not found as 'C:/perl/c/lib\libgdi32.a' '-lgdi32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libgdi32.a' '-lwinspool' not found as 'libwinspool.a' '-lwinspool' not found as 'G:/temp/DBD-Oracle-1.74\libwinspool.a' '-lwinspool' not found as 'C:/perl/c/lib\libwinspool.a' '-lwinspool' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libwinspool.a' '-lcomdlg32' not found as 'libcomdlg32.a' '-lcomdlg32' not found as 'G:/temp/DBD-Oracle-1.74\libcomdlg32.a' '-lcomdlg32' not found as 'C:/perl/c/lib\libcomdlg32.a' '-lcomdlg32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libcomdlg32.a' '-ladvapi32' not found as 'libadvapi32.a' '-ladvapi32' not found as 'G:/temp/DBD-Oracle-1.74\libadvapi32.a' '-ladvapi32' not found as 'C:/perl/c/lib\libadvapi32.a' '-ladvapi32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libadvapi32.a' '-lshell32' not found as 'libshell32.a' '-lshell32' not found as 'G:/temp/DBD-Oracle-1.74\libshell32.a' '-lshell32' not found as 'C:/perl/c/lib\libshell32.a' '-lshell32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libshell32.a' '-lole32' not found as 'libole32.a' '-lole32' not found as 'G:/temp/DBD-Oracle-1.74\libole32.a' '-lole32' not found as 'C:/perl/c/lib\libole32.a' '-lole32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libole32.a' '-loleaut32' not found as 'liboleaut32.a' '-loleaut32' not found as 'G:/temp/DBD-Oracle-1.74\liboleaut32.a' '-loleaut32' not found as 'C:/perl/c/lib\liboleaut32.a' '-loleaut32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\liboleaut32.a' '-lnetapi32' not found as 'libnetapi32.a' '-lnetapi32' not found as 'G:/temp/DBD-Oracle-1.74\libnetapi32.a' '-lnetapi32' not found as 'C:/perl/c/lib\libnetapi32.a' '-lnetapi32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libnetapi32.a' '-luuid' not found as 'libuuid.a' '-luuid' not found as 'G:/temp/DBD-Oracle-1.74\libuuid.a' '-luuid' not found as 'C:/perl/c/lib\libuuid.a' '-luuid' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libuuid.a' '-lws2_32' not found as 'libws2_32.a' '-lws2_32' not found as 'G:/temp/DBD-Oracle-1.74\libws2_32.a' '-lws2_32' not found as 'C:/perl/c/lib\libws2_32.a' '-lws2_32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libws2_32.a' '-lmpr' not found as 'libmpr.a' '-lmpr' not found as 'G:/temp/DBD-Oracle-1.74\libmpr.a' '-lmpr' not found as 'C:/perl/c/lib\libmpr.a' '-lmpr' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libmpr.a' '-lwinmm' not found as 'libwinmm.a' '-lwinmm' not found as 'G:/temp/DBD-Oracle-1.74\libwinmm.a' '-lwinmm' not found as 'C:/perl/c/lib\libwinmm.a' '-lwinmm' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libwinmm.a' '-lversion' not found as 'libversion.a' '-lversion' not found as 'G:/temp/DBD-Oracle-1.74\libversion.a' '-lversion' not found as 'C:/perl/c/lib\libversion.a' '-lversion' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libversion.a' '-lodbc32' not found as 'libodbc32.a' '-lodbc32' not found as 'G:/temp/DBD-Oracle-1.74\libodbc32.a' '-lodbc32' not found as 'C:/perl/c/lib\libodbc32.a' '-lodbc32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libodbc32.a' '-lodbccp32' not found as 'libodbccp32.a' '-lodbccp32' not found as 'G:/temp/DBD-Oracle-1.74\libodbccp32.a' '-lodbccp32' not found as 'C:/perl/c/lib\libodbccp32.a' '-lodbccp32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libodbccp32.a' '-lcomctl32' not found as 'libcomctl32.a' '-lcomctl32' not found as 'G:/temp/DBD-Oracle-1.74\libcomctl32.a' '-lcomctl32' not found as 'C:/perl/c/lib\libcomctl32.a' '-lcomctl32' found as 'C:/perl/c/x86_64-w64-mingw32/lib\libcomctl32.a' Result: liboci.a C:\perl\c\x86_64-w64-mingw32\lib\libmoldname.a C:\per +l\c\x86_64-w64-mingw32\lib\libkernel32.a C:\perl\c\x86_64-w64-mingw32 +\lib\libuser32.a C:\perl\c\x86_64-w64-mingw32\lib\libgdi32.a C:\perl\ +c\x86_64-w64-mingw32\lib\libwinspool.a C:\perl\c\x86_64-w64-mingw32\l +ib\libcomdlg32.a C:\per l\c\x86_64-w64-mingw32\lib\libadvapi32.a C:\perl\c\x86_64-w64-mingw32\ +lib\libshell32.a C:\perl\c\x86_64-w64-mingw32\lib\libole32.a C:\perl\ +c\x86_64-w64-mingw32\lib\liboleaut32.a C:\perl\c\x86_64-w64-mingw32\l +ib\libnetapi32.a C:\perl\c\x86_64-w64-mingw32\lib\libuuid.a C:\perl\c +\x86_64-w64-mingw32\lib \libws2_32.a C:\perl\c\x86_64-w64-mingw32\lib\libmpr.a C:\perl\c\x86_6 +4-w64-mingw32\lib\libwinmm.a C:\perl\c\x86_64-w64-mingw32\lib\libvers +ion.a C:\perl\c\x86_64-w64-mingw32\lib\libodbc32.a C:\perl\c\x86_64-w +64-mingw32\lib\libodbccp32.a C:\perl\c\x86_64-w64-mingw32\lib\libcomc +tl32.a LD_RUN_PATH=G:/Oracle/product/11.2.0/client_1/lib:G:/Oracle/product/11 +.2.0/client_1/rdbms/lib Using DBD::Oracle 1.74. Using DBD::Oracle 1.74. Multiple copies of Driver.xst found in: C:/perl/perl/site/lib/auto/DBI +/ C:/perl/perl/vendor/lib/auto/DBI/ at Makefile.PL line 1789. Using DBI 1.631 (for perl 5.018002 on MSWin32-x64-multi-thread) instal +led in C:/perl/perl/site/lib/auto/DBI/ Generating a dmake-style Makefile Writing Makefile for DBD::Oracle Writing MYMETA.yml and MYMETA.json *** If you have problems... read all the log printed above, and the README and README.help.tx +t files. (Of course, you have read README by now anyway, haven't you?) G:\temp\DBD-Oracle-1.74>
  6. Next I ran dmake and got following error:
    C:\perl\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"DBD::Oracle\", 'DLBASE' => 'Oracle', 'DL +_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => [] +);" dlltool --def Oracle.def --output-exp dll.exp g++ -o blib\arch\auto\DBD\Oracle\Oracle.dll -Wl,--base-file -Wl,dll.ba +se -mdll -s -L"C:\perl\perl\lib\CORE" -L"C:\perl\c\lib" Oracle.o dbd +imp.o oci8.o C:\perl\perl\lib\CORE\libperl518.a liboci.a C:\ +perl\c\x86_64-w64-mingw32\lib\libmoldname.a C:\perl\c\x86_64-w64-ming +w32\lib\libkernel32.a C :\perl\c\x86_64-w64-mingw32\lib\libuser32.a C:\perl\c\x86_64-w64-mingw +32\lib\libgdi32.a C:\perl\c\x86_64-w64-mingw32\lib\libwinspool.a C:\p +erl\c\x86_64-w64-mingw32\lib\libcomdlg32.a C:\perl\c\x86_64-w64-mingw +32\lib\libadvapi32.a C:\perl\c\x86_64-w64-mingw32\lib\libshell32.a C: +\perl\c\x86_64-w64-ming w32\lib\libole32.a C:\perl\c\x86_64-w64-mingw32\lib\liboleaut32.a C:\p +erl\c\x86_64-w64-mingw32\lib\libnetapi32.a C:\perl\c\x86_64-w64-mingw +32\lib\libuuid.a C:\perl\c\x86_64-w64-mingw32\lib\libws2_32.a C:\perl +\c\x86_64-w64-mingw32\lib\libmpr.a C:\perl\c\x86_64-w64-mingw32\lib\l +ibwinmm.a C:\perl\c\x86 _64-w64-mingw32\lib\libversion.a C:\perl\c\x86_64-w64-mingw32\lib\libo +dbc32.a C:\perl\c\x86_64-w64-mingw32\lib\libodbccp32.a C:\perl\c\x86_ +64-w64-mingw32\lib\libcomctl32.a dll.exp g:/software/x64-4.8.1-release-win32-sjlj-rev5/mingw64/bin/../lib/gcc/x +86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C: +\perl\c\x86_64-w64-mingw32\lib\libkernel32.a(dusfs01262.o): bad reloc + address 0x7373622e in section `.text' collect2.exe: error: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\DBD\Oracle\Oracle +.dll'
I tried various fixes mentioned but unable to resolve the issue. Kindly let me know what can I do to install DBD::Oracle on my system.

Replies are listed 'Best First'.
Re: Error Installing DBD Oracle in windows 7 64 bit system
by Anonymous Monk on Aug 14, 2014 at 07:53 UTC
Re: Error Installing DBD Oracle in windows 7 64 bit system
by jellisii2 (Hermit) on Aug 14, 2014 at 11:25 UTC
    Please pardon if this seems pendantic, but there is a presumption that you did as the initial make suggested and read the README file?

      Hi :)

      Op gets C:\perl\c\x86_64-w64-mingw32\lib\libkernel32.a(dusfs01262.o): bad reloc address 0x7373622e in section `.text'

      So, while "reloc" is mentioned http://search.cpan.org/grep?cpanid=PYTHIAN&release=DBD-Oracle-1.74&string=reloc&i=1&n=1&C=9

      What the OP has seems to be more related to version of mingw/gcc toolchain... than oracle paths issue

      And http://strawberryperl.com/release-notes/5.20.0.1-64bit.html says New gcc 4.8.2 toolchain + new mingw-w64 v3 runtime and Newly added DBD::Oracle - you have to install 64bit Oracle Instant Client 11.x and make sure you have OCI.DLL in your PATH

      So, first thing I'd try is to install a new portable 5.20.0.1-64bit, it can coexist with OPs existing strawberry perl (if installed in a different path), and the OP can migrate his apps one by one to the new install (as soon as he install all the modules he needs, and tests his apps)

      Its nice when someone else does the hard work :)

       

      rm -rf goners