Trouble installing DBD-Oracle-1.23 on Cygwin

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I'm on Cygwin 1.5.25, Perl 5.10, and I'm trying to install DBI-1.608
and DBD-Oracle-1.23.  The DBI installation went ok, but I'm having
trouble with the DBD portion.  I don't have Oracle installed locally
(I mostly only use SQuirreL for connecting to my database).  I tried
following the instructions in the DBI and DBD READMEs.

I installed the instantclient basic, sdk, and even sqlplus in c:/
oracle/instantclient_11_2 (the DBD README refers to "11_1", but I
would assume nothing is checking for that name).

The DBD README doesn't mention setting ORACLE_HOME, but it appears I
have to set it to the "instantclient" directory.

I set my ORACLE_DSN and ORACLE_USERID to refer to the database my
first script will be connecting to.

Supposedly it helps if I specify the client API version on the "perl"
command line, but I'm not certain exactly what that number would be.
I tried using both "perl Makefile.PL -V" (database version)
and "perl Makefile.PL -V" (driver version), but my results
are the same.

The "perl" and "make" lines appeared to complete without serious
complaint, but when I ran "make test", I got the following:

/usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/01base..................# Test loading DBI, DBD::Oracle and version
#   Failed test 'install_driver'
#   at t/01base.t line 22.
Failed to load Oracle extension and/or shared libraries:
install_driver(Oracle) failed: Can't load '/c/frameworks/DBD-
Oracle-1.23/blib/arch/auto/DBD/Oracle/Oracle.dll' for module
DBD::Oracle: No such file or directory at /usr/lib/perl5/5.10/i686-
cygwin/ line 201.
 at (eval 6) line 3
Compilation failed in require at (eval 6) line 3.

That file DOES exist, and it's permissions are 755.

Any ideas?  Is there a better place to ask about this?

Re: Trouble installing DBD-Oracle-1.23 on Cygwin

Quoted text here. Click to load it

Firstly, you may have better luck with Win32 perl. I presume your Oracle
client libs are Win32, not Cygwin, so trying to link to them from Cygwin
may be causing trouble. Alternatively, if you can find a distribution of
the Oracle client libs for Cygwin, you could try that.

Quoted text here. Click to load it

I would expect it to want the version of you Oracle client libs. The
version of the database server is irrelevant, as long as client and
server are compatible.

Quoted text here. Click to load it

OK. The problem here is that it can't find some *other* dll needed by
Oracle.dll, probably the Orable libs. Get depends.exe from and see what libs it needs, and if it's
finding them. You may need to copy a whole lot of the Oracle libs into
your Cygwin /bin directory, assuming they still work from there.

Quoted text here. Click to load it

Since this is a rather Cygwin-specific problem, you may have more luck
on a Cygwin mailing list.


Re: Trouble installing DBD-Oracle-1.23 on Cygwin says...

Quoted text here. Click to load it

Try ldd on this file to see, wether all DLLs could be found. You may
need to add the directory of the Oracle-Client (that's where oci.dll
resides) to the PATH variable. Here is what I get:

ldd blib/arch/auto/DBD/Oracle/Oracle.dll
        ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x77710000)
        kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x76c40000)
        KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll
        cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
        ADVAPI32.DLL => /cygdrive/c/Windows/syswow64/ADVAPI32.DLL (0x76fd0000)
        msvcrt.dll => /cygdrive/c/Windows/syswow64/msvcrt.dll (0x75720000)
        sechost.dll => /cygdrive/c/Windows/SysWOW64/sechost.dll (0x75590000)
        RPCRT4.dll => /cygdrive/c/Windows/syswow64/RPCRT4.dll (0x75b00000)
        SspiCli.dll => /cygdrive/c/Windows/syswow64/SspiCli.dll (0x75280000)
        CRYPTBASE.dll => /cygdrive/c/Windows/syswow64/CRYPTBASE.dll (0x75270000)
        cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000)
        cygssp-0.dll => /usr/bin/cygssp-0.dll (0x67280000)
        OCI.dll => /usr/local/oracle/OCI.dll (0x10000000)
        MSVCR71.dll => /cygdrive/c/Windows/system32/MSVCR71.dll (0x7c340000)
        PSAPI.DLL => /cygdrive/c/Windows/syswow64/PSAPI.DLL (0x76c30000)
        cygperl5_10.dll => /usr/bin/cygperl5_10.dll (0x71520000)
        cygcrypt-0.dll => /usr/bin/cygcrypt-0.dll (0x30000)



Heinrich Mislik
Zentraler Informatikdienst der Universitaet Wien
A-1010 Wien, Universitaetsstrasse 7
Tel.: (+43 1) 4277-14056, Fax: (+43 1) 4277-9140

Re: Trouble installing DBD-Oracle-1.23 on Cygwin

On Jul 1, 2:58=A0am, (Heinrich Mislik)
Quoted text here. Click to load it
.com>, says...
Quoted text here. Click to load it

Putting the directory with oci.dll on the PATH is what did it.
Thanks.  I should have thought of that.

Site Timeline