Re: Problems building Oracle::OCI 0.03 against Oracle 8.1.7 Linux

[email protected] (Stephen Clouse) Tue, 10 Jul 2001 17:40:57 -0500
Newsgroups perl.dbi.oracle-oci
Message-ID <[email protected]>
msg.pgp (text/plain, 2.4 KB)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Sorry for the hassle (thanks Oracle for rearranging things on every
> release!) I'll add some trouble shooting notes to the docs.

Thanks for the help.  I did get it working just a few minutes ago.

First, as already noted, 8.1.7 doesn't have an OH/network/public.  It seems to
be in OH/rdbms/public now.

Next, it seems to forget to actually link to the Oracle libraries.  I had to
coerce it to add the link stuff to the final Makefile.

- --- Oracle-OCI-0.03-orig/boot   Sat Jul  7 21:05:10 2001
+++ Oracle-OCI-0.03/boot        Tue Jul 10 17:13:24 2001
@@ -314,7 +318,7 @@
 }
 
 print "Building...\n";
- -system("perl Makefile.PL && make && make test");
+system("perl Makefile.PL LIBS=\"-L$ENV{ORACLE_HOME}/lib -lclntsh -lwtc8\" && \
make && make test");
 
 exit 0;
 
The invalid argument declaration from before is in OCISharedLibInit, which looks
like this in ociap.h:

sword   OCISharedLibInit(dvoid *metaCtx, dvoid *libCtx, ub4 argfmt, sword argc,
                         dvoid *argv[], OCIEnvCallbackType envCallback);

I excluded that one for now.

Finally, I had to patch getptrdef.h like so, which fixed the unresolved symbols 
I was running into:

- --- Oracle-OCI-0.03/getptrdef.h Thu Jun  7 19:27:44 2001
+++ Oracle-OCI-0.03-fixed/getptrdef.h   Tue Jul 10 17:33:05 2001
@@ -52,6 +52,7 @@
 #define ora_getptr_OCIThreadKeyDestFunc ora_getptr_generic
 #define ora_getptr_OCIThreadKeyPtr ora_getptr_generic
 #define ora_getptr_OCIThreadMutexPtr ora_getptr_generic
+#define ora_getptr_OCITransPtr ora_getptr_generic
 #define ora_getptr_OCITypeCodePtr ora_getptr_generic
 #define ora_getptr_OCITypeElemPtr ora_getptr_generic
 #define ora_getptr_OCITypeGetOpt ora_getptr_generic
@@ -60,6 +61,7 @@
 #define ora_getptr_OCITypePtr ora_getptr_generic
 #define ora_getptr_OCIUserCallback ora_getptr_generic
 #define ora_getptr_OCIUserCallbackPtr ora_getptr_generic
+#define ora_getptr_OCIUcbPtr ora_getptr_generic
 #define ora_getptr_OCIWcharPtr ora_getptr_generic
 #define ora_getptr_nzttBufferBlockPtr ora_getptr_generic
 #define ora_getptr_nzttCipherType ora_getptr_generic

With those changes it builds and tests perfectly.

- -- 
Stephen Clouse <[email protected]>
Senior Programmer, IQ Coordinator Project Lead
The IQ Group, Inc. <http://www.theiqgroup.com/>

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.5.8

iQA/AwUBO0uEeAOGqGs0PadnEQKWfgCfdvA+R3Tu5Yvnak4zE0iyzayMJoYAniql
rx58ECbtLFO3xVhaeHK+0EJj
=Xb6Z
-----END PGP SIGNATURE-----