Failed build attempt for Oracle-OCI-0.04

[email protected] ("Fox, Michael") Fri, 27 Jul 2001 11:47:20 +1000
Newsgroups perl.dbi.oracle-oci
Message-ID <033708395F6FD4119CFD0008C7B365A8053936F7@exs-mel-04.hq.auspost.com.au>
Platform: Compaq Alpha Tru64 Unix V 5.1
Perl: v5.6.0
Oracle: 8.1.7
DBI: 1.19
DBD-Oracle: 1.07

We are just upgrading from Unix 4 to 5.1, and Oracle 8.0.4 to 8.1.7; built a
new perl, DBI and DBD-Oracle without any problems; then tried Oracle-OCI for
the first time. To get the build to go, I:

1. added $orahome/rdbms/public to @ora_dirs in boot, as some of the header
files are there (Oracle 8.1.7 thing?):
nzerror.h  nzt.h      ociextp.h  tnsapi.h

2. added to extra_typemap as described in readme.build
OCIType *		T_PTROBJ
OCITrans *		T_PTROBJ

It now builds (with warnings), but fails the tests, reporting:

Can't load 'blib/arch/auto/Oracle/OCI/OCI.so' for module Oracle::OCI:
dlopen: blib/arch/auto/Oracle/OCI/OCI.so:
symbol "upioep" unresolved at
/usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf/DynaLoader.pm line 200

and finally says:

 FAILED--2 test scripts could be run, alas--no output ever seen

This is as far as I could get. The complete output of the boot run is
attached.

Michael Fox
Australia Post

 <<boot_log.txt>> 

CAUTION

This e-mail and any files transmitted with it are privileged and confidential information intended for the use of the addressee. The confidentiality and/or privilege in this e-mail is not waived, lost or destroyed if it has been transmitted to you in error. If you have received this e-mail in error you must (a) not disseminate, copy or take any action in reliance on it; (b) please notify Australia Post immediately by return e-mail to the sender; and (c) please delete the original e-mail.
boot_log.txt (text/plain, 11.8 KB)
Regex for h2xs ignores: ^OCI(?!AQ|AttrGet|Bind|Cache|Callback|Complex|Context|Date|DirPath|EnvCallback|Extract|File|Format|Interval|Iter|Memory|Message|MultiByte|Number|Object|Pickler|Raw|Ref|Security|SharedLibInit|StmtBindByName|StmtBindByPos|StmtGetBindInfo|String|Subscription|Table|Thread|Type|TypeArrayByName|TypeArrayByRef|WideChar|_FNCODE_|_NLS_)|^SQL
Complete h2xs arguments: ./h2xs -d -O -n Oracle::OCI -F -I/u01/app/oracle/product/8.1.7/rdbms/demo -I/u01/app/oracle/product/8.1.7/network/public -I/u01/app/oracle/product/8.1.7/plsql/public -I/u01/app/oracle/product/8.1.7/rdbms/public -I/u01/app/oracle/product/8.1.7/rdbms/demo,/u01/app/oracle/product/8.1.7/network/public,/u01/app/oracle/product/8.1.7/plsql/public,/u01/app/oracle/product/8.1.7/rdbms/public -E get_oci_error,get_oci_handle,oci_buf_len,OCIAttrGet -M '^OCI(?!AQ|AttrGet|Bind|Cache|Callback|Complex|Context|Date|DirPath|EnvCallback|Extract|File|Format|Interval|Iter|Memory|Message|MultiByte|Number|Object|Pickler|Raw|Ref|Security|SharedLibInit|StmtBindByName|StmtBindByPos|StmtGetBindInfo|String|Subscription|Table|Thread|Type|TypeArrayByName|TypeArrayByRef|WideChar|_FNCODE_|_NLS_)|^SQL' -k -x /u01/app/oracle/product/8.1.7/rdbms/demo/oci.h
Running h2xs...
Scanning typemaps...
 Scanning /usr/users/foxm/lib/perl5/5.6.0/ExtUtils/typemap
Scanning /u01/app/oracle/product/8.1.7/rdbms/demo/oci.h for functions...
Scanning /u01/app/oracle/product/8.1.7/rdbms/demo/oci.h for typedefs...
Writing Oracle/OCI/OCI.pm
Writing Oracle/OCI/OCI.xs
Writing Oracle/OCI/typemap
Writing Oracle/OCI/Makefile.PL
Writing Oracle/OCI/test.pl
Writing Oracle/OCI/Changes
Writing Oracle/OCI/MANIFEST
Editing OCI.xs...
Editing Makefile.PL...
Building...
Using DBI 1.19 installed in /usr/users/foxm/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBI
Checking if your kit is complete...
Looks good
Writing Makefile for Oracle::OCI
mkdir blib
mkdir blib/lib
mkdir blib/lib/Oracle
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Oracle
mkdir blib/arch/auto/Oracle/OCI
mkdir blib/lib/auto
mkdir blib/lib/auto/Oracle
mkdir blib/lib/auto/Oracle/OCI
mkdir blib/man3
cp OCI.pm blib/lib/Oracle/OCI.pm
AutoSplitting blib/lib/Oracle/OCI.pm (blib/lib/auto/Oracle/OCI)
/usr/users/foxm/bin/perl -I/usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf -I/usr/users/foxm/lib/perl5/5.6.0 /usr/users/foxm/lib/perl5/5.6.0/ExtUtils/xsubpp  -typemap /usr/users/foxm/lib/perl5/5.6.0/ExtUtils/typemap -typemap h2xs.typemap -typemap typemap OCI.xs > OCI.xsc && mv OCI.xsc OCI.c
Please specify prototyping behavior for OCI.xs (see perlxs manual)
cc -c -I/u01/app/oracle/product/8.1.7/rdbms/demo -I/u01/app/oracle/product/8.1.7/network/public -I/u01/app/oracle/product/8.1.7/plsql/public -I/u01/app/oracle/product/8.1.7/rdbms/public -I/usr/users/foxm/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBD/Oracle -I/usr/users/foxm/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBI -std -fprm d -ieee -D_INTRINSICS -DLANGUAGE_C -g      -DVERSION=\"0.01\"  -DXS_VERSION=\"0.01\"  -I/usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf/CORE -I/u01/app/oracle/product/8.1.7/rdbms/demo OCI.c
cc: Warning: OCI.xs, line 158: The function "constant_OCI_OR" returns a value, but no value is given in this return statement. (noreturnval)
	    return OCI_ORACLE;
------------^
cc: Warning: OCI.xs, line 6791: The function "constant_OCI_F" returns a value, but no value is given in this return statement. (noreturnval)
	    return OCI_FLAGS;
------------^
cc: Warning: OCI.c, line 8782: In the initializer for ocbfp, the referenced type of the pointer value "ora_getptr_generic(...)" is "void", which is not compatible with "function (pointer to void, pointer to struct OCIDefine, unsigned int, pointer to pointer to void, pointer to pointer to unsigned int, pointer to unsigned char, pointer to pointer to void, pointer to pointer to unsigned short) returning int". (ptrmismatch)
	OCICallbackDefine	ocbfp = ora_getptr_OCICallbackDefine(ST(3), "ocbfp", "OCICallbackDefine", "OCIDefineDynamic");
----------------------------------------^
cc: Warning: OCI.c, line 9000: In this statement, the referenced type of the pointer value "arg3" is "void", which is not compatible with "function (pointer to void, unsigned long) returning pointer to void". (ptrmismatch)
	RETVAL = OCIEnvCreate(&envp, mode, ctxp, arg3, arg4, arg5, xtramem_sz, usrmempp);
-------------------------------------------------^
cc: Warning: OCI.c, line 9000: In this statement, the referenced type of the pointer value "arg4" is "void", which is not compatible with "function (pointer to void, pointer to void, unsigned long) returning pointer to void". (ptrmismatch)
	RETVAL = OCIEnvCreate(&envp, mode, ctxp, arg3, arg4, arg5, xtramem_sz, usrmempp);
-------------------------------------------------------^
cc: Warning: OCI.c, line 9000: In this statement, the referenced type of the pointer value "arg5" is "void", which is not compatible with "function (pointer to void, pointer to void) returning void". (ptrmismatch)
	RETVAL = OCIEnvCreate(&envp, mode, ctxp, arg3, arg4, arg5, xtramem_sz, usrmempp);
-------------------------------------------------------------^
cc: Warning: OCI.c, line 9100: In this statement, the referenced type of the pointer value "arg3" is "void", which is not compatible with "function (pointer to void, unsigned long) returning pointer to void". (ptrmismatch)
	RETVAL = OCIFEnvCreate(&envp, mode, ctxp, arg3, arg4, arg5, xtramem_sz, usrmempp, fupg);
--------------------------------------------------^
cc: Warning: OCI.c, line 9100: In this statement, the referenced type of the pointer value "arg4" is "void", which is not compatible with "function (pointer to void, pointer to void, unsigned long) returning pointer to void". (ptrmismatch)
	RETVAL = OCIFEnvCreate(&envp, mode, ctxp, arg3, arg4, arg5, xtramem_sz, usrmempp, fupg);
--------------------------------------------------------^
cc: Warning: OCI.c, line 9100: In this statement, the referenced type of the pointer value "arg5" is "void", which is not compatible with "function (pointer to void, pointer to void) returning void". (ptrmismatch)
	RETVAL = OCIFEnvCreate(&envp, mode, ctxp, arg3, arg4, arg5, xtramem_sz, usrmempp, fupg);
--------------------------------------------------------------^
cc: Warning: OCI.c, line 9190: In this statement, the referenced type of the pointer value "arg2" is "void", which is not compatible with "function (pointer to void, unsigned long) returning pointer to void". (ptrmismatch)
	RETVAL = OCIInitialize(mode, ctxp, arg2, arg3, arg4);
-------------------------------------------^
cc: Warning: OCI.c, line 9190: In this statement, the referenced type of the pointer value "arg3" is "void", which is not compatible with "function (pointer to void, pointer to void, unsigned long) returning pointer to void". (ptrmismatch)
	RETVAL = OCIInitialize(mode, ctxp, arg2, arg3, arg4);
-------------------------------------------------^
cc: Warning: OCI.c, line 9190: In this statement, the referenced type of the pointer value "arg4" is "void", which is not compatible with "function (pointer to void, pointer to void) returning void". (ptrmismatch)
	RETVAL = OCIInitialize(mode, ctxp, arg2, arg3, arg4);
-------------------------------------------------------^
cc: Warning: OCI.c, line 9916: In this statement, the referenced type of the pointer value "arg8" is "void", which is not compatible with "function (pointer to void, pointer to const void, unsigned int, unsigned char) returning int". (ptrmismatch)
	RETVAL = OCILobRead(svchp, errhp, locp, &amtp, offset, bufp, bufl, ctxp, arg8, csid, csfrm);
---------------------------------------------------------------------------------^
cc: Warning: OCI.c, line 9970: In this statement, the referenced type of the pointer value "arg9" is "void", which is not compatible with "function (pointer to void, pointer to void, pointer to unsigned int, pointer to unsigned char) returning int". (ptrmismatch)
	RETVAL = OCILobWrite(svchp, errhp, locp, &amtp, offset, bufp, buflen, piece, ctxp, arg9, csid, csfrm);
-------------------------------------------------------------------------------------------^
cc: Warning: OCI.c, line 10001: In this statement, the referenced type of the pointer value "arg8" is "void", which is not compatible with "function (pointer to void, pointer to void, pointer to unsigned int, pointer to unsigned char) returning int". (ptrmismatch)
	RETVAL = OCILobWriteAppend(svchp, errhp, lobp, &amtp, bufp, bufl, piece, ctxp, arg8, csid, csfrm);
---------------------------------------------------------------------------------------^
cc: Warning: OCI.c, line 10762: In the initializer for callback, the referenced type of the pointer value "ora_getptr_generic(...)" is "void", which is not compatible with "function (pointer to void, pointer to void, unsigned int, unsigned int, unsigned int, int, pointer to int, struct declared without a tag) returning int". (ptrmismatch)
	OCIUserCallback	callback = ora_getptr_OCIUserCallback(ST(3), "callback", "OCIUserCallback", "OCIUserCallbackRegister");
-----------------------------------^
cc -c -I/u01/app/oracle/product/8.1.7/rdbms/demo -I/u01/app/oracle/product/8.1.7/network/public -I/u01/app/oracle/product/8.1.7/plsql/public -I/u01/app/oracle/product/8.1.7/rdbms/public -I/usr/users/foxm/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBD/Oracle -I/usr/users/foxm/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBI -std -fprm d -ieee -D_INTRINSICS -DLANGUAGE_C -g      -DVERSION=\"0.01\"  -DXS_VERSION=\"0.01\"  -I/usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf/CORE -I/u01/app/oracle/product/8.1.7/rdbms/demo utility.c
cc: Warning: utility.c, line 132: In this statement, the referenced type of the pointer value "(void ...)((imp_sth_t ...)imp_xxh)->get_oci_handle" is "void", which is not compatible with "function (pointer to struct imp_xxh_st, int, int) returning pointer to void". (ptrmismatch)
	hook = (void*)((imp_sth_t*)imp_xxh)->get_oci_handle;
--------^
cc: Warning: utility.c, line 134: In this statement, the referenced type of the pointer value "(void ...)((imp_dbh_t ...)imp_xxh)->get_oci_handle" is "void", which is not compatible with "function (pointer to struct imp_xxh_st, int, int) returning pointer to void". (ptrmismatch)
	hook = (void*)((imp_dbh_t*)imp_xxh)->get_oci_handle;
--------^
Running Mkbootstrap for Oracle::OCI ()
chmod 644 OCI.bs
ar cr tmp.a OCI.o utility.o
: tmp.a
LD_RUN_PATH="/u01/app/oracle/product/8.1.7/lib:/usr/shlib" ld -o blib/arch/auto/Oracle/OCI/OCI.so  -shared -expect_unresolved "*" -O4 -msym -std -s -L/usr/local/lib -all tmp.a -none /u01/app/oracle/product/8.1.7/rdbms/lib/ssdbaed.o /u01/app/oracle/product/8.1.7/rdbms/lib/defopt.o    -L/u01/app/oracle/product/8.1.7/lib/ -lclntsh -lc 
chmod 755 blib/arch/auto/Oracle/OCI/OCI.so
cp OCI.bs blib/arch/auto/Oracle/OCI/OCI.bs
chmod 644 blib/arch/auto/Oracle/OCI/OCI.bs
Manifying blib/man3/Oracle::OCI.3
PERL_DL_NONLAZY=1 /usr/users/foxm/bin/perl -Iblib/arch -Iblib/lib -I/usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf -I/usr/users/foxm/lib/perl5/5.6.0 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
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 "upioep" unresolved at /usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf/DynaLoader.pm line 200.
 at t/01base.t line 8
Compilation failed in require at t/01base.t line 8.
BEGIN failed--compilation aborted at t/01base.t line 8.
dubious
	Test returned status 255 (wstat 65280, 0xff00)
t/05dbi.............Can't load 'blib/arch/auto/Oracle/OCI/OCI.so' for module Oracle::OCI: dlopen: blib/arch/auto/Oracle/OCI/OCI.so: symbol "upioep" unresolved at /usr/users/foxm/lib/perl5/5.6.0/alpha-dec_osf/DynaLoader.pm line 200.
 at t/05dbi.t line 7
Compilation failed in require at t/05dbi.t line 7.
BEGIN failed--compilation aborted at t/05dbi.t line 7.
dubious
	Test returned status 255 (wstat 65280, 0xff00)
FAILED--2 test scripts could be run, alas--no output ever seen
*** Exit 2
Stop.