如何在 Strawberry Perl 中安装 DBD::Oracle

发布于 2024-08-13 17:16:04 字数 27673 浏览 3 评论 0 原文

我正在尝试使用 Strawberry Perl 中的 CPAN shell 安装 DBD::Oracle 。我最初遇到了一个错误,因为 Makefile 无法找到 OCI 库,因此我从 Oracle 安装了即时客户端。我以为这可以解决问题,但现在我收到来自 Oracle.hdbdimp.hOracle.c 的大量错误和警告代码>、Oracle.xsiOracle.xs

对我应该如何进行有什么建议吗?是否有可能是我电脑上现有的Oracle软件有问题?我对 Perl 还很陌生,所以非常感谢您的帮助。

编辑 - 我将包含以下完整输出:

cpan> install DBD::Oracle
Database was generated on Fri, 04 Dec 2009 16:12:46 GMT
Running install for module 'DBD::Oracle'
Running make for P/PY/PYTHIAN/DBD-Oracle-1.23.tar.gz
Checksum for C:\strawberry\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.23.tar.gz ok
Scanning cache C:\strawberry\cpan\build for sizes
...............................................................-------------DONE

  CPAN.pm: Going to build P/PY/PYTHIAN/DBD-Oracle-1.23.tar.gz

Multiple copies of Driver.xst found in: C:/strawberry/perl/site/lib/auto/DBI/ C:\strawberry\perl\vendor\lib/auto/DBI/ at Makefile.PL line 37
Using DBI 1.609 (for perl 5.010001 on MSWin32-x86-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/
Argument "6.55_02" isn't numeric in numeric ge (>=) at Makefile.PL line 61.

Configuring DBD::Oracle for perl 5.010001 on MSWin32 (MSWin32-x86-multi-thread)

Remember to actually *READ* the README file! Especially if you have any problems.

Installing on a MSWin32, Ver#5.1
Using Oracle in C:/ORACLE/ORA90
DEFINE _SQLPLUS_RELEASE = "900010001" (CHAR)
Oracle version 9.0.1.0 (9.0)
Found oci directory
Using OCI directory 'oci'

Checking for functioning wait.ph


System: perl5.010001 Win32 strawberryperl 5.10.1.0 #1 30 i386
Compiler:   gcc -s -O2  -s -O2 -DWIN32 -DHAVE_DES_FCRYPT  -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_
MSVCRT_READFIX
Linker:     not found
Sysliblist:

Checking if your kit is complete...
Looks good
LD_RUN_PATH=C:/ORACLE/ORA90/lib:C:/ORACLE/ORA90/rdbms/lib
Using DBD::Oracle 1.23.
Using DBD::Oracle 1.23.
Multiple copies of Driver.xst found in: C:/strawberry/perl/site/lib/auto/DBI/ C:\strawberry\perl\vendor\lib/auto/DBI/ at Makefile.PL line 1696
Using DBI 1.609 (for perl 5.010001 on MSWin32-x86-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/
Writing Makefile for DBD::Oracle

***  If you have problems...
     read all the log printed above, and the README and README.help.txt files.
     (Of course, you have read README by now anyway, haven't you?)

cp Oracle.pm blib\lib\DBD\Oracle.pm
cp oraperl.ph blib\lib/oraperl.ph
cp dbdimp.h blib\arch\auto\DBD\Oracle/dbdimp.h
cp ocitrace.h blib\arch\auto\DBD\Oracle/ocitrace.h
cp Oraperl.pm blib\lib/Oraperl.pm
cp Oracle.h blib\arch\auto\DBD\Oracle/Oracle.h
cp lib/DBD/Oracle/Object.pm blib\lib\DBD\Oracle\Object.pm
cp mk.pm blib\arch\auto\DBD\Oracle/mk.pm
cp lib/DBD/Oracle/GetInfo.pm blib\lib\DBD\Oracle\GetInfo.pm
C:\strawberry\perl\bin\perl.exe -p -e "s/~DRIVER~/Oracle/g" C:\strawberry\perl\site\lib\auto\DBI\Driver.xst > Oracle.xsi
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  Oracle.xs >
 Oracle.xsc && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "mv" -- Oracle.xsc Oracle.c
gcc -c  -IC:/ORACLE/ORA90/oci/include -IC:/ORACLE/ORA90/rdbms/demo -IC:\strawberry\perl\site\lib\auto\DBI       -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE
_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2      -DVERSION=\"1.23\"    -DXS_VERSION=\
"1.23\"  "-IC:\strawberry\perl\lib\CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"9.0.1.0\" Oracle.c
In file included from Oracle.xs:1:
Oracle.h:37:17: oci.h: No such file or directory
Oracle.h:39:20: ocidfn.h: No such file or directory
Oracle.h:40:18: orid.h: No such file or directory
Oracle.h:41:17: ori.h: No such file or directory
In file included from Oracle.h:54,
                 from Oracle.xs:1:
dbdimp.h:16: error: syntax error before "OCIEnv"
dbdimp.h:16: warning: no semicolon at end of struct or union
dbdimp.h:23: error: syntax error before '}' token
dbdimp.h:37: error: syntax error before "OCIEnv"
dbdimp.h:37: warning: no semicolon at end of struct or union
dbdimp.h:38: warning: type defaults to `int' in declaration of `errhp'
dbdimp.h:38: warning: data definition has no type or storage class
dbdimp.h:39: error: syntax error before '*' token
dbdimp.h:39: warning: type defaults to `int' in declaration of `srvhp'
dbdimp.h:39: warning: data definition has no type or storage class
dbdimp.h:40: error: syntax error before '*' token
dbdimp.h:40: warning: type defaults to `int' in declaration of `svchp'
dbdimp.h:40: warning: data definition has no type or storage class
dbdimp.h:41: error: syntax error before '*' token
dbdimp.h:41: warning: type defaults to `int' in declaration of `authp'
dbdimp.h:41: warning: data definition has no type or storage class
dbdimp.h:51: error: syntax error before '}' token
dbdimp.h:66: error: syntax error before "OCIEnv"
dbdimp.h:66: warning: no semicolon at end of struct or union
dbdimp.h:67: warning: type defaults to `int' in declaration of `errhp'
dbdimp.h:67: warning: data definition has no type or storage class
dbdimp.h:68: error: syntax error before '*' token
dbdimp.h:68: warning: type defaults to `int' in declaration of `srvhp'
dbdimp.h:68: warning: data definition has no type or storage class
dbdimp.h:69: error: syntax error before '*' token
dbdimp.h:69: warning: type defaults to `int' in declaration of `svchp'
dbdimp.h:69: warning: data definition has no type or storage class
dbdimp.h:70: error: syntax error before '*' token
dbdimp.h:70: warning: type defaults to `int' in declaration of `stmhp'
dbdimp.h:70: warning: data definition has no type or storage class
dbdimp.h:71: error: syntax error before '*' token
dbdimp.h:71: warning: type defaults to `int' in declaration of `dschp'
dbdimp.h:71: warning: data definition has no type or storage class
dbdimp.h:121: error: syntax error before '}' token
dbdimp.h:143: error: syntax error before "OCIParam"
dbdimp.h:143: warning: no semicolon at end of struct or union
dbdimp.h:144: warning: type defaults to `int' in declaration of `parmap'
dbdimp.h:144: warning: data definition has no type or storage class
dbdimp.h:145: error: syntax error before '*' token
dbdimp.h:145: warning: type defaults to `int' in declaration of `tdo'
dbdimp.h:145: warning: data definition has no type or storage class
dbdimp.h:146: error: syntax error before "typecode"
dbdimp.h:146: warning: type defaults to `int' in declaration of `typecode'
dbdimp.h:146: warning: data definition has no type or storage class
dbdimp.h:147: error: syntax error before "col_typecode"
dbdimp.h:147: warning: type defaults to `int' in declaration of `col_typecode'
dbdimp.h:147: warning: data definition has no type or storage class
dbdimp.h:148: error: syntax error before "element_typecode"
dbdimp.h:148: warning: type defaults to `int' in declaration of `element_typecode'
dbdimp.h:148: warning: data definition has no type or storage class
dbdimp.h:149: error: syntax error before '*' token
dbdimp.h:149: warning: type defaults to `int' in declaration of `obj_ref'
dbdimp.h:149: warning: data definition has no type or storage class
dbdimp.h:150: error: syntax error before '*' token
dbdimp.h:150: warning: type defaults to `int' in declaration of `obj_ind'
dbdimp.h:150: warning: data definition has no type or storage class
dbdimp.h:151: error: syntax error before '*' token
dbdimp.h:151: warning: type defaults to `int' in declaration of `obj_value'
dbdimp.h:151: warning: data definition has no type or storage class
dbdimp.h:152: error: syntax error before '*' token
dbdimp.h:152: warning: type defaults to `int' in declaration of `obj_type'
dbdimp.h:152: warning: data definition has no type or storage class
dbdimp.h:159: error: syntax error before '}' token
dbdimp.h:166: error: syntax error before "OCIParam"
dbdimp.h:166: warning: no semicolon at end of struct or union
dbdimp.h:167: warning: type defaults to `int' in declaration of `defnp'
dbdimp.h:167: warning: data definition has no type or storage class
dbdimp.h:199: error: syntax error before '}' token
dbdimp.h:221: error: syntax error before "OCIBind"
dbdimp.h:221: warning: no semicolon at end of struct or union
dbdimp.h:238: error: syntax error before '*' token
dbdimp.h:238: warning: type defaults to `int' in declaration of `array_indicators'
dbdimp.h:238: warning: data definition has no type or storage class
dbdimp.h:246: error: conflicting types for 'name'
dbdimp.h:178: error: previous declaration of 'name' was here
dbdimp.h:247: error: syntax error before '}' token
dbdimp.h:284: error: syntax error before "OCILobLocator"
dbdimp.h:299: error: syntax error before "OCIError"
dbdimp.h:333: error: syntax error before "OCIBind"
dbdimp.h:335: error: syntax error before "OCIBind"
dbdimp.h:338: error: syntax error before "OCIDefine"
Oracle.c: In function `XS_DBD__Oracle_constant':
Oracle.c:74: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle_ORA_OCI':
Oracle.c:108: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle_ora_env_var':
Oracle.c:131: warning: unused variable `Perl___notused'
In file included from Oracle.c:179:
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h: In function `dbdxst_bind_params':
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:60: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:61: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:65: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:66: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:67: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h: In function `dbdxst_fetchall_arrayref':
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:93: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:94: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:101: error: dereferencing pointer to incomplete type
Oracle.c: In function `XS_DBD__Oracle__dr_dbixs_revision':
Oracle.c:185: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db__login':
Oracle.c:278: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_selectall_arrayref':
./Oracle.xsi:152: error: dereferencing pointer to incomplete type
Oracle.c:320: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_selectrow_arrayref':
./Oracle.xsi:196: error: dereferencing pointer to incomplete type
Oracle.c:387: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_commit':
./Oracle.xsi:275: error: dereferencing pointer to incomplete type
./Oracle.xsi:275: error: dereferencing pointer to incomplete type
Oracle.c:549: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_rollback':
./Oracle.xsi:285: error: dereferencing pointer to incomplete type
./Oracle.xsi:285: error: dereferencing pointer to incomplete type
Oracle.c:572: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_disconnect':
./Oracle.xsi:295: error: dereferencing pointer to incomplete type
./Oracle.xsi:300: error: dereferencing pointer to incomplete type
./Oracle.xsi:300: error: dereferencing pointer to incomplete type
./Oracle.xsi:302: error: dereferencing pointer to incomplete type
./Oracle.xsi:304: error: dereferencing pointer to incomplete type
./Oracle.xsi:308: error: dereferencing pointer to incomplete type
./Oracle.xsi:308: error: dereferencing pointer to incomplete type
./Oracle.xsi:308: error: dereferencing pointer to incomplete type
Oracle.c:595: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_STORE':
./Oracle.xsi:322: error: dereferencing pointer to incomplete type
Oracle.c:629: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_FETCH':
./Oracle.xsi:334: error: dereferencing pointer to incomplete type
Oracle.c:657: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_DESTROY':
./Oracle.xsi:345: error: dereferencing pointer to incomplete type
./Oracle.xsi:347: error: dereferencing pointer to incomplete type
./Oracle.xsi:347: error: dereferencing pointer to incomplete type
./Oracle.xsi:348: error: dereferencing pointer to incomplete type
./Oracle.xsi:353: error: dereferencing pointer to incomplete type
./Oracle.xsi:354: error: dereferencing pointer to incomplete type
./Oracle.xsi:354: error: dereferencing pointer to incomplete type
./Oracle.xsi:354: error: dereferencing pointer to incomplete type
./Oracle.xsi:355: error: dereferencing pointer to incomplete type
./Oracle.xsi:356: error: dereferencing pointer to incomplete type
./Oracle.xsi:358: error: dereferencing pointer to incomplete type
./Oracle.xsi:359: error: dereferencing pointer to incomplete type
./Oracle.xsi:370: error: dereferencing pointer to incomplete type
./Oracle.xsi:371: error: dereferencing pointer to incomplete type
./Oracle.xsi:372: error: dereferencing pointer to incomplete type
./Oracle.xsi:382: error: dereferencing pointer to incomplete type
./Oracle.xsi:382: error: dereferencing pointer to incomplete type
./Oracle.xsi:382: error: dereferencing pointer to incomplete type
Oracle.c:682: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st__prepare':
Oracle.c:830: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_rows':
Oracle.c:869: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_bind_param':
Oracle.c:951: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_bind_param_inout':
Oracle.c:999: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_execute':
./Oracle.xsi:586: error: dereferencing pointer to incomplete type
./Oracle.xsi:587: error: dereferencing pointer to incomplete type
Oracle.c:1053: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_fetchrow_arrayref':
Oracle.c:1125: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_fetchrow_array':
Oracle.c:1150: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_fetchall_arrayref':
Oracle.c:1185: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_finish':
./Oracle.xsi:669: error: dereferencing pointer to incomplete type
./Oracle.xsi:670: error: dereferencing pointer to incomplete type
./Oracle.xsi:674: error: dereferencing pointer to incomplete type
./Oracle.xsi:677: error: dereferencing pointer to incomplete type
./Oracle.xsi:677: error: dereferencing pointer to incomplete type
./Oracle.xsi:677: error: dereferencing pointer to incomplete type
Oracle.c:1226: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_blob_read':
Oracle.c:1262: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_STORE':
./Oracle.xsi:717: error: dereferencing pointer to incomplete type
Oracle.c:1306: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_FETCH_attrib':
./Oracle.xsi:734: error: dereferencing pointer to incomplete type
Oracle.c:1334: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_DESTROY':
./Oracle.xsi:745: error: dereferencing pointer to incomplete type
./Oracle.xsi:747: error: dereferencing pointer to incomplete type
./Oracle.xsi:747: error: dereferencing pointer to incomplete type
./Oracle.xsi:748: error: dereferencing pointer to incomplete type
./Oracle.xsi:753: error: dereferencing pointer to incomplete type
./Oracle.xsi:754: error: dereferencing pointer to incomplete type
./Oracle.xsi:754: error: dereferencing pointer to incomplete type
./Oracle.xsi:754: error: dereferencing pointer to incomplete type
./Oracle.xsi:755: error: dereferencing pointer to incomplete type
./Oracle.xsi:756: error: dereferencing pointer to incomplete type
./Oracle.xsi:758: error: dereferencing pointer to incomplete type
./Oracle.xsi:759: error: dereferencing pointer to incomplete type
./Oracle.xsi:760: error: dereferencing pointer to incomplete type
./Oracle.xsi:768: error: dereferencing pointer to incomplete type
./Oracle.xsi:768: error: dereferencing pointer to incomplete type
./Oracle.xsi:768: error: dereferencing pointer to incomplete type
Oracle.c:1362: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_stmt_type':
Oracle.xs:105: error: dereferencing pointer to incomplete type
Oracle.c:1418: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_stmt_type_name':
Oracle.xs:114: error: dereferencing pointer to incomplete type
Oracle.c:1443: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_scroll_position':
Oracle.xs:127: error: dereferencing pointer to incomplete type
Oracle.c:1470: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch_scroll':
Oracle.xs:140: error: dereferencing pointer to incomplete type
Oracle.xs:141: error: dereferencing pointer to incomplete type
Oracle.c:1495: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_ora_bind_param_inout_array':
Oracle.c:1526: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch':
Oracle.xs:189: error: dereferencing pointer to incomplete type
Oracle.xs:189: error: dereferencing pointer to incomplete type
Oracle.xs:189: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: warning: left-hand operand of comma expression has no effect
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: warning: left-hand operand of comma expression has no effect
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: warning: left-hand operand of comma expression has no effect
Oracle.xs:196: error: dereferencing pointer to incomplete type
Oracle.xs:198: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:219: error: dereferencing pointer to incomplete type
Oracle.xs:219: error: dereferencing pointer to incomplete type
Oracle.c:1572: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_execute_array':
Oracle.xs:234: error: dereferencing pointer to incomplete type
Oracle.xs:235: error: dereferencing pointer to incomplete type
Oracle.c:1631: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_cancel':
Oracle.c:1678: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__db_ora_ping':
Oracle.xs:273: warning: implicit declaration of function `OCIServerVersion'
Oracle.xs:273: error: dereferencing pointer to incomplete type
Oracle.xs:273: error: dereferencing pointer to incomplete type
Oracle.xs:273: error: `OCI_HTYPE_SVCCTX' undeclared (first use in this function)
Oracle.xs:273: error: (Each undeclared identifier is reported only once
Oracle.xs:273: error: for each function it appears in.)
Oracle.xs:273: error: dereferencing pointer to incomplete type
Oracle.xs:274: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.c:1699: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_reauthenticate':
Oracle.c:1736: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_write':
Oracle.c:1767: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1767: error: `locator' undeclared (first use in this function)
Oracle.c:1782: error: syntax error before ')' token
Oracle.xs:307: error: `SQLCS_IMPLICIT' undeclared (first use in this function)
Oracle.xs:314: warning: implicit declaration of function `OCILobCharSetForm'
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:315: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:316: error: dereferencing pointer to incomplete type
Oracle.xs:330: error: `SQLCS_NCHAR' undeclared (first use in this function)
Oracle.xs:332: warning: implicit declaration of function `OCILobWrite'
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:332: error: `OCI_ONE_PIECE' undeclared (first use in this function)
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:338: error: dereferencing pointer to incomplete type
Oracle.c:1759: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_append':
Oracle.c:1845: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1845: error: `locator' undeclared (first use in this function)
Oracle.c:1862: error: syntax error before ')' token
Oracle.xs:363: error: `SQLCS_IMPLICIT' undeclared (first use in this function)
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:371: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:372: error: dereferencing pointer to incomplete type
Oracle.xs:386: error: `SQLCS_NCHAR' undeclared (first use in this function)
Oracle.xs:387: warning: implicit declaration of function `OCILobWriteAppend'
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:387: error: `OCI_ONE_PIECE' undeclared (first use in this function)
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:392: error: dereferencing pointer to incomplete type
Oracle.xs:357: warning: unused variable `startp'
Oracle.c:1837: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_read':
Oracle.c:1923: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1923: error: `locator' undeclared (first use in this function)
Oracle.c:1938: error: syntax error before ')' token
Oracle.xs:417: error: `SQLCS_IMPLICIT' undeclared (first use in this function)
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:428: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:429: error: dereferencing pointer to incomplete type
Oracle.xs:433: warning: implicit declaration of function `OCILobRead'
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:438: error: dereferencing pointer to incomplete type
Oracle.xs:445: error: `SQLCS_NCHAR' undeclared (first use in this function)
Oracle.c:1915: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_trim':
Oracle.c:1997: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1997: error: `locator' undeclared (first use in this function)
Oracle.c:2006: error: syntax error before ')' token
Oracle.xs:461: warning: implicit declaration of function `OCILobTrim'
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:462: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:463: error: dereferencing pointer to incomplete type
Oracle.c:1989: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_length':
Oracle.c:2039: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:2039: error: `locator' undeclared (first use in this function)
Oracle.c:2048: error: syntax error before ')' token
Oracle.xs:479: warning: implicit declaration of function `OCILobGetLength'
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:480: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:481: error: dereferencing pointer to incomplete type
Oracle.c:2031: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_chunk_size':
Oracle.c:2081: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:2081: error: `locator' undeclared (first use in this function)
Oracle.c:2090: error: syntax error before ')' token
Oracle.xs:498: warning: implicit declaration of function `OCILobGetChunkSize'
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:499: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:500: error: dereferencing pointer to incomplete type
Oracle.c:2073: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__dr_init_oci':
Oracle.c:2115: warning: unused variable `Perl___notused'
Oracle.c: In function `boot_DBD__Oracle':
Oracle.c:2157: error: `OCI_FETCH_RELATIVE' undeclared (first use in this function)
Oracle.c:2171: error: `OCI_FETCH_FIRST' undeclared (first use in this functio

I am trying to install DBD::Oracle using the CPAN shell in Strawberry Perl. I initially experienced an error because the Makefile could not locate an OCI library, so I installed the instant client from Oracle. I thought this would fix the problem, but now I get a large mixture of errors and warnings from Oracle.h, dbdimp.h, Oracle.c, Oracle.xsi, and Oracle.xs.

Any suggestions for how I should proceed? Is it possible that there is a problem with existing Oracle software on my computer? I am fairly new to Perl, so any help is appreciated.

Edit -- I'm including the entire output below:

cpan> install DBD::Oracle
Database was generated on Fri, 04 Dec 2009 16:12:46 GMT
Running install for module 'DBD::Oracle'
Running make for P/PY/PYTHIAN/DBD-Oracle-1.23.tar.gz
Checksum for C:\strawberry\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.23.tar.gz ok
Scanning cache C:\strawberry\cpan\build for sizes
...............................................................-------------DONE

  CPAN.pm: Going to build P/PY/PYTHIAN/DBD-Oracle-1.23.tar.gz

Multiple copies of Driver.xst found in: C:/strawberry/perl/site/lib/auto/DBI/ C:\strawberry\perl\vendor\lib/auto/DBI/ at Makefile.PL line 37
Using DBI 1.609 (for perl 5.010001 on MSWin32-x86-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/
Argument "6.55_02" isn't numeric in numeric ge (>=) at Makefile.PL line 61.

Configuring DBD::Oracle for perl 5.010001 on MSWin32 (MSWin32-x86-multi-thread)

Remember to actually *READ* the README file! Especially if you have any problems.

Installing on a MSWin32, Ver#5.1
Using Oracle in C:/ORACLE/ORA90
DEFINE _SQLPLUS_RELEASE = "900010001" (CHAR)
Oracle version 9.0.1.0 (9.0)
Found oci directory
Using OCI directory 'oci'

Checking for functioning wait.ph


System: perl5.010001 Win32 strawberryperl 5.10.1.0 #1 30 i386
Compiler:   gcc -s -O2  -s -O2 -DWIN32 -DHAVE_DES_FCRYPT  -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_
MSVCRT_READFIX
Linker:     not found
Sysliblist:

Checking if your kit is complete...
Looks good
LD_RUN_PATH=C:/ORACLE/ORA90/lib:C:/ORACLE/ORA90/rdbms/lib
Using DBD::Oracle 1.23.
Using DBD::Oracle 1.23.
Multiple copies of Driver.xst found in: C:/strawberry/perl/site/lib/auto/DBI/ C:\strawberry\perl\vendor\lib/auto/DBI/ at Makefile.PL line 1696
Using DBI 1.609 (for perl 5.010001 on MSWin32-x86-multi-thread) installed in C:/strawberry/perl/site/lib/auto/DBI/
Writing Makefile for DBD::Oracle

***  If you have problems...
     read all the log printed above, and the README and README.help.txt files.
     (Of course, you have read README by now anyway, haven't you?)

cp Oracle.pm blib\lib\DBD\Oracle.pm
cp oraperl.ph blib\lib/oraperl.ph
cp dbdimp.h blib\arch\auto\DBD\Oracle/dbdimp.h
cp ocitrace.h blib\arch\auto\DBD\Oracle/ocitrace.h
cp Oraperl.pm blib\lib/Oraperl.pm
cp Oracle.h blib\arch\auto\DBD\Oracle/Oracle.h
cp lib/DBD/Oracle/Object.pm blib\lib\DBD\Oracle\Object.pm
cp mk.pm blib\arch\auto\DBD\Oracle/mk.pm
cp lib/DBD/Oracle/GetInfo.pm blib\lib\DBD\Oracle\GetInfo.pm
C:\strawberry\perl\bin\perl.exe -p -e "s/~DRIVER~/Oracle/g" C:\strawberry\perl\site\lib\auto\DBI\Driver.xst > Oracle.xsi
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  Oracle.xs >
 Oracle.xsc && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "mv" -- Oracle.xsc Oracle.c
gcc -c  -IC:/ORACLE/ORA90/oci/include -IC:/ORACLE/ORA90/rdbms/demo -IC:\strawberry\perl\site\lib\auto\DBI       -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE
_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2      -DVERSION=\"1.23\"    -DXS_VERSION=\
"1.23\"  "-IC:\strawberry\perl\lib\CORE"  -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"9.0.1.0\" Oracle.c
In file included from Oracle.xs:1:
Oracle.h:37:17: oci.h: No such file or directory
Oracle.h:39:20: ocidfn.h: No such file or directory
Oracle.h:40:18: orid.h: No such file or directory
Oracle.h:41:17: ori.h: No such file or directory
In file included from Oracle.h:54,
                 from Oracle.xs:1:
dbdimp.h:16: error: syntax error before "OCIEnv"
dbdimp.h:16: warning: no semicolon at end of struct or union
dbdimp.h:23: error: syntax error before '}' token
dbdimp.h:37: error: syntax error before "OCIEnv"
dbdimp.h:37: warning: no semicolon at end of struct or union
dbdimp.h:38: warning: type defaults to `int' in declaration of `errhp'
dbdimp.h:38: warning: data definition has no type or storage class
dbdimp.h:39: error: syntax error before '*' token
dbdimp.h:39: warning: type defaults to `int' in declaration of `srvhp'
dbdimp.h:39: warning: data definition has no type or storage class
dbdimp.h:40: error: syntax error before '*' token
dbdimp.h:40: warning: type defaults to `int' in declaration of `svchp'
dbdimp.h:40: warning: data definition has no type or storage class
dbdimp.h:41: error: syntax error before '*' token
dbdimp.h:41: warning: type defaults to `int' in declaration of `authp'
dbdimp.h:41: warning: data definition has no type or storage class
dbdimp.h:51: error: syntax error before '}' token
dbdimp.h:66: error: syntax error before "OCIEnv"
dbdimp.h:66: warning: no semicolon at end of struct or union
dbdimp.h:67: warning: type defaults to `int' in declaration of `errhp'
dbdimp.h:67: warning: data definition has no type or storage class
dbdimp.h:68: error: syntax error before '*' token
dbdimp.h:68: warning: type defaults to `int' in declaration of `srvhp'
dbdimp.h:68: warning: data definition has no type or storage class
dbdimp.h:69: error: syntax error before '*' token
dbdimp.h:69: warning: type defaults to `int' in declaration of `svchp'
dbdimp.h:69: warning: data definition has no type or storage class
dbdimp.h:70: error: syntax error before '*' token
dbdimp.h:70: warning: type defaults to `int' in declaration of `stmhp'
dbdimp.h:70: warning: data definition has no type or storage class
dbdimp.h:71: error: syntax error before '*' token
dbdimp.h:71: warning: type defaults to `int' in declaration of `dschp'
dbdimp.h:71: warning: data definition has no type or storage class
dbdimp.h:121: error: syntax error before '}' token
dbdimp.h:143: error: syntax error before "OCIParam"
dbdimp.h:143: warning: no semicolon at end of struct or union
dbdimp.h:144: warning: type defaults to `int' in declaration of `parmap'
dbdimp.h:144: warning: data definition has no type or storage class
dbdimp.h:145: error: syntax error before '*' token
dbdimp.h:145: warning: type defaults to `int' in declaration of `tdo'
dbdimp.h:145: warning: data definition has no type or storage class
dbdimp.h:146: error: syntax error before "typecode"
dbdimp.h:146: warning: type defaults to `int' in declaration of `typecode'
dbdimp.h:146: warning: data definition has no type or storage class
dbdimp.h:147: error: syntax error before "col_typecode"
dbdimp.h:147: warning: type defaults to `int' in declaration of `col_typecode'
dbdimp.h:147: warning: data definition has no type or storage class
dbdimp.h:148: error: syntax error before "element_typecode"
dbdimp.h:148: warning: type defaults to `int' in declaration of `element_typecode'
dbdimp.h:148: warning: data definition has no type or storage class
dbdimp.h:149: error: syntax error before '*' token
dbdimp.h:149: warning: type defaults to `int' in declaration of `obj_ref'
dbdimp.h:149: warning: data definition has no type or storage class
dbdimp.h:150: error: syntax error before '*' token
dbdimp.h:150: warning: type defaults to `int' in declaration of `obj_ind'
dbdimp.h:150: warning: data definition has no type or storage class
dbdimp.h:151: error: syntax error before '*' token
dbdimp.h:151: warning: type defaults to `int' in declaration of `obj_value'
dbdimp.h:151: warning: data definition has no type or storage class
dbdimp.h:152: error: syntax error before '*' token
dbdimp.h:152: warning: type defaults to `int' in declaration of `obj_type'
dbdimp.h:152: warning: data definition has no type or storage class
dbdimp.h:159: error: syntax error before '}' token
dbdimp.h:166: error: syntax error before "OCIParam"
dbdimp.h:166: warning: no semicolon at end of struct or union
dbdimp.h:167: warning: type defaults to `int' in declaration of `defnp'
dbdimp.h:167: warning: data definition has no type or storage class
dbdimp.h:199: error: syntax error before '}' token
dbdimp.h:221: error: syntax error before "OCIBind"
dbdimp.h:221: warning: no semicolon at end of struct or union
dbdimp.h:238: error: syntax error before '*' token
dbdimp.h:238: warning: type defaults to `int' in declaration of `array_indicators'
dbdimp.h:238: warning: data definition has no type or storage class
dbdimp.h:246: error: conflicting types for 'name'
dbdimp.h:178: error: previous declaration of 'name' was here
dbdimp.h:247: error: syntax error before '}' token
dbdimp.h:284: error: syntax error before "OCILobLocator"
dbdimp.h:299: error: syntax error before "OCIError"
dbdimp.h:333: error: syntax error before "OCIBind"
dbdimp.h:335: error: syntax error before "OCIBind"
dbdimp.h:338: error: syntax error before "OCIDefine"
Oracle.c: In function `XS_DBD__Oracle_constant':
Oracle.c:74: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle_ORA_OCI':
Oracle.c:108: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle_ora_env_var':
Oracle.c:131: warning: unused variable `Perl___notused'
In file included from Oracle.c:179:
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h: In function `dbdxst_bind_params':
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:60: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:61: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:65: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:66: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:67: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h: In function `dbdxst_fetchall_arrayref':
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:93: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:94: error: dereferencing pointer to incomplete type
C:/strawberry/perl/site/lib/auto/DBI/Driver_xst.h:101: error: dereferencing pointer to incomplete type
Oracle.c: In function `XS_DBD__Oracle__dr_dbixs_revision':
Oracle.c:185: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db__login':
Oracle.c:278: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_selectall_arrayref':
./Oracle.xsi:152: error: dereferencing pointer to incomplete type
Oracle.c:320: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_selectrow_arrayref':
./Oracle.xsi:196: error: dereferencing pointer to incomplete type
Oracle.c:387: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_commit':
./Oracle.xsi:275: error: dereferencing pointer to incomplete type
./Oracle.xsi:275: error: dereferencing pointer to incomplete type
Oracle.c:549: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_rollback':
./Oracle.xsi:285: error: dereferencing pointer to incomplete type
./Oracle.xsi:285: error: dereferencing pointer to incomplete type
Oracle.c:572: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_disconnect':
./Oracle.xsi:295: error: dereferencing pointer to incomplete type
./Oracle.xsi:300: error: dereferencing pointer to incomplete type
./Oracle.xsi:300: error: dereferencing pointer to incomplete type
./Oracle.xsi:302: error: dereferencing pointer to incomplete type
./Oracle.xsi:304: error: dereferencing pointer to incomplete type
./Oracle.xsi:308: error: dereferencing pointer to incomplete type
./Oracle.xsi:308: error: dereferencing pointer to incomplete type
./Oracle.xsi:308: error: dereferencing pointer to incomplete type
Oracle.c:595: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_STORE':
./Oracle.xsi:322: error: dereferencing pointer to incomplete type
Oracle.c:629: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_FETCH':
./Oracle.xsi:334: error: dereferencing pointer to incomplete type
Oracle.c:657: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__db_DESTROY':
./Oracle.xsi:345: error: dereferencing pointer to incomplete type
./Oracle.xsi:347: error: dereferencing pointer to incomplete type
./Oracle.xsi:347: error: dereferencing pointer to incomplete type
./Oracle.xsi:348: error: dereferencing pointer to incomplete type
./Oracle.xsi:353: error: dereferencing pointer to incomplete type
./Oracle.xsi:354: error: dereferencing pointer to incomplete type
./Oracle.xsi:354: error: dereferencing pointer to incomplete type
./Oracle.xsi:354: error: dereferencing pointer to incomplete type
./Oracle.xsi:355: error: dereferencing pointer to incomplete type
./Oracle.xsi:356: error: dereferencing pointer to incomplete type
./Oracle.xsi:358: error: dereferencing pointer to incomplete type
./Oracle.xsi:359: error: dereferencing pointer to incomplete type
./Oracle.xsi:370: error: dereferencing pointer to incomplete type
./Oracle.xsi:371: error: dereferencing pointer to incomplete type
./Oracle.xsi:372: error: dereferencing pointer to incomplete type
./Oracle.xsi:382: error: dereferencing pointer to incomplete type
./Oracle.xsi:382: error: dereferencing pointer to incomplete type
./Oracle.xsi:382: error: dereferencing pointer to incomplete type
Oracle.c:682: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st__prepare':
Oracle.c:830: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_rows':
Oracle.c:869: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_bind_param':
Oracle.c:951: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_bind_param_inout':
Oracle.c:999: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_execute':
./Oracle.xsi:586: error: dereferencing pointer to incomplete type
./Oracle.xsi:587: error: dereferencing pointer to incomplete type
Oracle.c:1053: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_fetchrow_arrayref':
Oracle.c:1125: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_fetchrow_array':
Oracle.c:1150: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_fetchall_arrayref':
Oracle.c:1185: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_finish':
./Oracle.xsi:669: error: dereferencing pointer to incomplete type
./Oracle.xsi:670: error: dereferencing pointer to incomplete type
./Oracle.xsi:674: error: dereferencing pointer to incomplete type
./Oracle.xsi:677: error: dereferencing pointer to incomplete type
./Oracle.xsi:677: error: dereferencing pointer to incomplete type
./Oracle.xsi:677: error: dereferencing pointer to incomplete type
Oracle.c:1226: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_blob_read':
Oracle.c:1262: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_STORE':
./Oracle.xsi:717: error: dereferencing pointer to incomplete type
Oracle.c:1306: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_FETCH_attrib':
./Oracle.xsi:734: error: dereferencing pointer to incomplete type
Oracle.c:1334: warning: unused variable `Perl___notused'
./Oracle.xsi: In function `XS_DBD__Oracle__st_DESTROY':
./Oracle.xsi:745: error: dereferencing pointer to incomplete type
./Oracle.xsi:747: error: dereferencing pointer to incomplete type
./Oracle.xsi:747: error: dereferencing pointer to incomplete type
./Oracle.xsi:748: error: dereferencing pointer to incomplete type
./Oracle.xsi:753: error: dereferencing pointer to incomplete type
./Oracle.xsi:754: error: dereferencing pointer to incomplete type
./Oracle.xsi:754: error: dereferencing pointer to incomplete type
./Oracle.xsi:754: error: dereferencing pointer to incomplete type
./Oracle.xsi:755: error: dereferencing pointer to incomplete type
./Oracle.xsi:756: error: dereferencing pointer to incomplete type
./Oracle.xsi:758: error: dereferencing pointer to incomplete type
./Oracle.xsi:759: error: dereferencing pointer to incomplete type
./Oracle.xsi:760: error: dereferencing pointer to incomplete type
./Oracle.xsi:768: error: dereferencing pointer to incomplete type
./Oracle.xsi:768: error: dereferencing pointer to incomplete type
./Oracle.xsi:768: error: dereferencing pointer to incomplete type
Oracle.c:1362: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_stmt_type':
Oracle.xs:105: error: dereferencing pointer to incomplete type
Oracle.c:1418: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_stmt_type_name':
Oracle.xs:114: error: dereferencing pointer to incomplete type
Oracle.c:1443: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_scroll_position':
Oracle.xs:127: error: dereferencing pointer to incomplete type
Oracle.c:1470: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch_scroll':
Oracle.xs:140: error: dereferencing pointer to incomplete type
Oracle.xs:141: error: dereferencing pointer to incomplete type
Oracle.c:1495: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_ora_bind_param_inout_array':
Oracle.c:1526: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_fetch':
Oracle.xs:189: error: dereferencing pointer to incomplete type
Oracle.xs:189: error: dereferencing pointer to incomplete type
Oracle.xs:189: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: warning: left-hand operand of comma expression has no effect
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: warning: left-hand operand of comma expression has no effect
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: error: dereferencing pointer to incomplete type
Oracle.xs:192: warning: left-hand operand of comma expression has no effect
Oracle.xs:196: error: dereferencing pointer to incomplete type
Oracle.xs:198: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:217: error: dereferencing pointer to incomplete type
Oracle.xs:219: error: dereferencing pointer to incomplete type
Oracle.xs:219: error: dereferencing pointer to incomplete type
Oracle.c:1572: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__st_ora_execute_array':
Oracle.xs:234: error: dereferencing pointer to incomplete type
Oracle.xs:235: error: dereferencing pointer to incomplete type
Oracle.c:1631: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__st_cancel':
Oracle.c:1678: warning: unused variable `Perl___notused'
Oracle.xs: In function `XS_DBD__Oracle__db_ora_ping':
Oracle.xs:273: warning: implicit declaration of function `OCIServerVersion'
Oracle.xs:273: error: dereferencing pointer to incomplete type
Oracle.xs:273: error: dereferencing pointer to incomplete type
Oracle.xs:273: error: `OCI_HTYPE_SVCCTX' undeclared (first use in this function)
Oracle.xs:273: error: (Each undeclared identifier is reported only once
Oracle.xs:273: error: for each function it appears in.)
Oracle.xs:273: error: dereferencing pointer to incomplete type
Oracle.xs:274: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.c:1699: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_reauthenticate':
Oracle.c:1736: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_write':
Oracle.c:1767: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1767: error: `locator' undeclared (first use in this function)
Oracle.c:1782: error: syntax error before ')' token
Oracle.xs:307: error: `SQLCS_IMPLICIT' undeclared (first use in this function)
Oracle.xs:314: warning: implicit declaration of function `OCILobCharSetForm'
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:314: error: dereferencing pointer to incomplete type
Oracle.xs:315: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:316: error: dereferencing pointer to incomplete type
Oracle.xs:330: error: `SQLCS_NCHAR' undeclared (first use in this function)
Oracle.xs:332: warning: implicit declaration of function `OCILobWrite'
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:332: error: `OCI_ONE_PIECE' undeclared (first use in this function)
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:332: error: dereferencing pointer to incomplete type
Oracle.xs:338: error: dereferencing pointer to incomplete type
Oracle.c:1759: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_append':
Oracle.c:1845: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1845: error: `locator' undeclared (first use in this function)
Oracle.c:1862: error: syntax error before ')' token
Oracle.xs:363: error: `SQLCS_IMPLICIT' undeclared (first use in this function)
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:370: error: dereferencing pointer to incomplete type
Oracle.xs:371: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:372: error: dereferencing pointer to incomplete type
Oracle.xs:386: error: `SQLCS_NCHAR' undeclared (first use in this function)
Oracle.xs:387: warning: implicit declaration of function `OCILobWriteAppend'
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:387: error: `OCI_ONE_PIECE' undeclared (first use in this function)
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:387: error: dereferencing pointer to incomplete type
Oracle.xs:392: error: dereferencing pointer to incomplete type
Oracle.xs:357: warning: unused variable `startp'
Oracle.c:1837: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_read':
Oracle.c:1923: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1923: error: `locator' undeclared (first use in this function)
Oracle.c:1938: error: syntax error before ')' token
Oracle.xs:417: error: `SQLCS_IMPLICIT' undeclared (first use in this function)
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:427: error: dereferencing pointer to incomplete type
Oracle.xs:428: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:429: error: dereferencing pointer to incomplete type
Oracle.xs:433: warning: implicit declaration of function `OCILobRead'
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:433: error: dereferencing pointer to incomplete type
Oracle.xs:438: error: dereferencing pointer to incomplete type
Oracle.xs:445: error: `SQLCS_NCHAR' undeclared (first use in this function)
Oracle.c:1915: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_trim':
Oracle.c:1997: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:1997: error: `locator' undeclared (first use in this function)
Oracle.c:2006: error: syntax error before ')' token
Oracle.xs:461: warning: implicit declaration of function `OCILobTrim'
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:461: error: dereferencing pointer to incomplete type
Oracle.xs:462: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:463: error: dereferencing pointer to incomplete type
Oracle.c:1989: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_length':
Oracle.c:2039: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:2039: error: `locator' undeclared (first use in this function)
Oracle.c:2048: error: syntax error before ')' token
Oracle.xs:479: warning: implicit declaration of function `OCILobGetLength'
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:479: error: dereferencing pointer to incomplete type
Oracle.xs:480: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:481: error: dereferencing pointer to incomplete type
Oracle.c:2031: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_chunk_size':
Oracle.c:2081: error: `OCILobLocator' undeclared (first use in this function)
Oracle.c:2081: error: `locator' undeclared (first use in this function)
Oracle.c:2090: error: syntax error before ')' token
Oracle.xs:498: warning: implicit declaration of function `OCILobGetChunkSize'
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:498: error: dereferencing pointer to incomplete type
Oracle.xs:499: error: `OCI_SUCCESS' undeclared (first use in this function)
Oracle.xs:500: error: dereferencing pointer to incomplete type
Oracle.c:2073: warning: unused variable `Perl___notused'
Oracle.c: In function `XS_DBD__Oracle__dr_init_oci':
Oracle.c:2115: warning: unused variable `Perl___notused'
Oracle.c: In function `boot_DBD__Oracle':
Oracle.c:2157: error: `OCI_FETCH_RELATIVE' undeclared (first use in this function)
Oracle.c:2171: error: `OCI_FETCH_FIRST' undeclared (first use in this functio

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

权谋诡计 2024-08-20 17:16:04

DBD::Oracle 是出了名的难以编译,与 Windows 相乘,如果可以避免的话最好不要这样做。不幸的是 出于许可原因,ActiveState 不为其提供 PPM 我浏览过的其他 PPM 存储库也没有。尽管有传言说 ActivePerl 5.10.0.1003 附带 DBD-Oracle

如果您的 Oracle 服务器支持 ODBC,您可以使用 DBD::ODBC 与其对话。

如果您想尝试,这里有一些 在 Strawberry Perl 上安装 DBD::Oracle 的特殊说明可能会有所帮助。

DBD::Oracle is notoriously difficult to compile, multiplied by Windows, and you're better off just not doing it if you can avoid it. Unfortunately ActiveState does not supply a PPM for it for licensing reasons nor do the other PPM repositories I looked through. Though its rumored that ActivePerl 5.10.0.1003 comes with DBD-Oracle.

If your Oracle server supports ODBC, you can talk to it using DBD::ODBC.

If you want to try, here are some special instructions for installing DBD::Oracle on Strawberry Perl which may be of help.

征﹌骨岁月お 2024-08-20 17:16:04

Strawberry Perl 5.20(自 2014 年 5 月起)附带 DBD::Oracle,只要您安装 instantclient 11.x 版本,它就可以开箱即用。请参阅http://strawberryperl.com/release-notes/5.20.0.1-64bit。 html

新添加的 DBD::Oracle - 您必须安装 64 位 Oracle Instant Client 11.x 并确保您的 PATH 中有 OCI.DLL

Strawberry Perl 5.20 (since May, 2014) ships with DBD::Oracle, as long as you install instantclient 11.x version it works out of the box. See http://strawberryperl.com/release-notes/5.20.0.1-64bit.html

Newly added DBD::Oracle - you have to install 64bit Oracle Instant Client 11.x and make sure you have OCI.DLL in your PATH

神魇的王 2024-08-20 17:16:04

如果您没有所有 Oracle 源文件(*.h、*.c),您可以通过 ppm 安装 DBD::Oracle,就像 ActiveState 一样。或者从 ActiveState 发行版复制库文件。

If you don't have all of the Oracle source (*.h, *.c) files, you can install DBD::Oracle via ppm, just like ActiveState. Or copy the library files from the ActiveState distribution.

单身狗的梦 2024-08-20 17:16:04

我在我的博客上此处记录了在 Win32 上对我有用的内容。实际上,除了 DBI make 过程没有正确检测我安装的 Oracle 客户端版本之外,一切都很顺利。对 make 文件进行一些解密,我发现有一个参数可以显式指定版本。我必须手动运行 make 和 install 命令,但一切顺利。

我尝试使用一些预编译模块,但它们是使用特定版本的 Strawberry Perl 进行编译的。我想我找到了一个为 Oracle 编译的 5.12 DBI,当我尝试将它与最新的 5.16 Strawberry Perl 一起使用时,它会抱怨,所以这就是我采用手动构建路线的原因。

从现在开始,我可能会将我的 c:\perl 二进制目录复制到我需要的其他机器上,设置环境变量并使用它。

I documented what worked for me on Win32 here on my blog. Actually everything went smoothly except the DBI make process didn't detect my installed Oracle Client version correctly. A little deciphering of the make file and I saw there was a parameter to explicitly specify the version. I had to run the make and install commands manually but it all worked out.

I tried to use some pre-compiled modules but they were compiled with a specific version of Strawberry Perl in mind. I think I found a 5.12 compiled DBI for Oracle and it complained when I tried to use it with the latest 5.16 Strawberry Perl so that's why I went the manual build route.

From here on out I will probably just copy my c:\perl binary directory to other machines I need it, set environment variables and roll with it.

诗化ㄋ丶相逢 2024-08-20 17:16:04

设置环境变量 ORACLE_HOMELD_LIBRARY_PATH 并将 Oracle bin 文件夹添加到 PATH 后,它工作正常,没有任何问题我。

set PATH=c:\oracle\product\12.1\Client_x64\bin;%PATH%
set LD_LIBRARY_PATH=c:\oracle\product\12.1\Client_x64\bin
set ORACLE_HOME=c:\oracle\product\12.1\Client_x64

cpan
install DBD::Oracle

也许并不需要全部三个。无论如何,它们仅在安装模块时设置。

After setting environment variables ORACLE_HOME and LD_LIBRARY_PATH and adding the Oracle bin folder to PATH it worked fine without any problem for me.

set PATH=c:\oracle\product\12.1\Client_x64\bin;%PATH%
set LD_LIBRARY_PATH=c:\oracle\product\12.1\Client_x64\bin
set ORACLE_HOME=c:\oracle\product\12.1\Client_x64

cpan
install DBD::Oracle

Maybe not all three of them are required. Anyway, they are set only while you install the module.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文