Home  |  Linux  | Mysql  | PHP  | XML
From:Tim Bunce Date:Wed Aug  8 11:17:54 2001
Subject:Re: Failed build attempt for Oracle-OCI-0.04
On Wed, Aug 08, 2001 at 05:31:21PM +1000, Fox, Michael wrote:
> OK.
> First I reported it incorrectly, when I went back to DBD::Oracle I found
> that it had not built correctly at all, and had the same problem as the OCI
> build (upioep unresolved). Tim then announced DBD::Oracle 1.08, so I
> switched to that.
>
> The "Discovering Oracle OCI build rules..." section of Makefile.PL failed,
> whereas it hadn't on previous versions of Oracle, so I investigated that.
> As I understand it, by setting ECHODO=true you get the command the makefile
> would have generated, then dissect that. The demo_rdbms.mk files are quite
> different in Oracle 8.0.4 and 8.1.7 (59 diffs). One is that the build
> option no longer includes the ${ECHODO} part, so the fake make issues an
> error and the build discovery fails.

"Drat and double drat"!

> I made a copy of the demo directory, put in the ${ECHODO} against the build:
> part of the makefile, and included this directory in the search path in
> Makefile.PL. The build discovery now worked, DBD::Oracle built OK, and the
> tests all passed (I think - output below).

(Good, but hardly practical for the average Joe :-)

> I then went back to the OCI build, and got a different error:
>
> t/01base............Can't load 'blib/arch/auto/Oracle/OCI/OCI.so' for module
> Oracle::OCI: dlopen: blib/arch/auto/Oracle/OCI/OCI.so:
> symbol "OCICollIsLocator" unresolved at
> /usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf/DynaLoader.pm line 200.
> at t/01base.t line 8
>
> I then returned to Tim's original advice and searched used Makefile.PL -s
> "OCICollIsLocator". It produced (the interesting bits?):
>
> searching oracle lib/libclntst8.a ...
> OCICollIsLocator | 0000000000108144 | T | 0000000000000008
> searching oracle lib/libgeneric8.a ...
> OCICollIsLocator | 0000000000108144 | T | 0000000000000008
> searching oracle lib/libclntsh.so ...
> OCICollIsLocator | 0004396970517280 | T | 0000000000000008
> searching oracle lib/libnjni8.so ...
> OCICollIsLocator | 0004396970564096 | T | 0000000000000008
> searching oracle lib/libocijdbc8.so ...
> OCICollIsLocator | 0004396970912256 | T | 0000000000000008
> searching oracle lib/libocijdbc8_g.so ...
> OCICollIsLocator | 0004396964230048 | T | 0000000000000008
>
> I'm not to sure where to go from here?

Well, that seems to imply that the OCICollIsLocator symbol is defined in
the libclntsh.so library - so I'm not sure what the problem is there.

Can you try adding 'CollIsLocator' to the oci_ignore section in the
boot script and then see if it's okay or some other symbol is then
reported as the problem.

Either way, please include in your next email the Oracle::OCI link
command that's used to create the Oracle/OCI.so file.

Thanks.

Tim.
Navigate in group perl.dbi.oracle-oci at sever nntp.perl.org
Previous Next


Your recent visits
LMPX.COM :: Linux, Mysql, Php, Xml
LMPX.COM :: Linux, Mysql, Php, Xml
LMPX.COM :: Linux, Mysql, Php, Xml
LMPX.COM :: Linux, Mysql, Php, Xml



  
© No Copyright
You are free to use Anything, but please consult your advocate before doing so as this website
also list content from other sources which may be copyrighted.
Site Maintained by Zareef Ahmed
Powered By PHP Consultants