[Zope] DCOracle Compile Problem

Jens Vagelpohl tommymi@concentric.net
Sun, 12 Sep 1999 11:04:35 -0400


hi andrew,

i ran into a similar problem compiling the package on linux/redhat 6 with an
oracle 8.0.5 installation. just like it says in the comments in Setup, the
libraries to link against change from one revision or oracle to the next. in
my case it dies looking for the "socket" library. a list member advised me
to cut "-lsocket -lnsl -lgen -ldl -lelf -laio -lposix4" out of the list of
libraries in Setup. then it worked fine.

maybe someone on the list has done a successful compile of 8i and can get
you his or her modified Setup file. a beginning might be to try and
physically find the libraries in Setup and if they are not present take them
out of the list for the linker... then you can try again and see if it
works.

jens

Jens Vagelpohl

Systems Administrator
Washtenaw Development Council


> -----Original Message-----
> From: andrew@mindspring.com [mailto:andrew@mindspring.com]On Behalf Of
> Andrew
> Sent: Sunday, September 12, 1999 10:11
> To: zope@zope.org
> Subject: [Zope] DCOracle Compile Problem
>
>
> When trying to compile the DCOracle package, I get the error below.
>
> I am using Oracle8i, version 8.1.5.0.0. I have checked ORACLE_HOME,
> LD_LIBRARY_PATH. I can connect with sqlplus.  ProC is installed and
> configured. I know I am missing something simple, but its going
> right past me.
>
> TIA
> Drew
>
> gcc -fPIC  -I/usr/local/oracle/product/8.1.5/rdbms/demo
> -I/usr/local/oracle/product/8.1.5/rdbms/public
> -I/usr/local/oracle/product/8.1.5/network/public
> -I/usr/local/oracle/product/8.1.5/plsql/public -DDCORACLE8 -g -O2
> -I/usr/include/python1.5 -I/usr/include/python1.5 -DHAVE_CONFIG_H -c
> ./oci_.c
> In file included from ./oci_.c:562:
> Buffer.h:79: warning: static declaration for `PyImport_Import' follows
> non-static
> oci_8.c: In function `Logon':
> In file included from ./oci_.c:693:
> oci_8.c:95: warning: passing arg 4 of `OCIHandleAlloc' makes integer
> from pointer without a cast
> oci_8.c: In function `newLob':
> oci_8.c:446: warning: passing arg 4 of `OCIDescriptorAlloc' makes
> integer from pointer without a cast
> oci_8.c: In function `initoci_8':
> oci_8.c:483: warning: passing arg 3 of `OCIEnvInit' makes integer from
> pointer without a cast
> ./oci_.c: In function `_wrap_odescr':
> ./oci_.c:2595: warning: assignment from incompatible pointer type
> gcc -shared  oci_.o  -L/usr/local/oracle/product/8.1.5/lib/
> -L/usr/local/oracle/product/8.1.5/rdbms/lib
> /usr/local/oracle/product/8.1.5/rdbms/lib/defopt.o
> /usr/local/oracle/product/8.1.5/lib/sscoreed.o
> /usr/local/oracle/product/8.1.5/lib/nautab.o
> /usr/local/oracle/product/8.1.5/lib/naeet.o
> /usr/local/oracle/product/8.1.5/lib/naect.o
> /usr/local/oracle/product/8.1.5/lib/naedhs.o -lnetv2 -lnttcp -lnetwork
> -lncr -lnetv2 -lnttcp -lnetwork -lclient -lvsn -lcommon -lgeneric -lmm
> -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lnetv2 -lnttcp -lnetwork
> -lncr -lnetv2 -lnttcp -lnetwork -lclient -lvsn -lcommon -lgeneric -lepc
> -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lclient -lvsn -lcommon
> -lgeneric -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lsocket -lnsl
> -lgen -ldl -lelf -laio -lposix4 -lsql -lm -lm -lnetv2 -lnttcp -lnetwork
> -lncr -lnetv2 -lnttcp -lnetwork -lclient -lvsn -lcommon -lgeneric -lmm
> -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lnetv2 -lnttcp -lnetwork
> -lncr -lnetv2 -lnttcp -lnetwork -lclient -lvsn -lcommon -lgeneric -lepc
> -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lclient -lvsn -lcommon
> -lgeneric -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lsocket -lnsl
> -lgen -ldl -lelf -laio -lposix4 -lsql -lm -lm -o oci_.so
> /usr/bin/ld: cannot open -lnetv2: No such file or directory
> collect2: ld returned 1 exit status
> make: *** [oci_.so] Error 1
>
>
>
>
> $ cat Setup
> *shared*
>
> # Setup file for Oracle 8.0.4 (Tested for Solarus on Intel and Sparc).
>
> # Unfortunately, the libraries needed to link Oracle change from
> revision
> # to revision.
>
> # Oracle provides a make file for building "demo" programs in
> # $ORACLE_HOME/rdbms/demo/demo_rdbms.mk.  I have been unable to
> # use this make file to build Python extensions. Adapting it is
> # not adequate, because it may change for new Oracle revs.
> # My approach is to use demo_rdbms.mk to build one of the
> # demo programs, look at the libraries linked, and start from there. :-(
>
>
>
>
> ORACLE_INCLUDES=$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public
> -I$(ORACLE_HOME)/network/public -I$(ORACLE_HOME)/plsql/public
> -I$(ORACLE_HOME)/precomp/demo
>
> ORACLE_L=-lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork
> -lclient -lvsn -lcommon -lgeneric -lmm -lnlsrtl3 -lcore4 -lnlsrtl3
> -lcore4 -lnlsrtl3 -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp
> -lnetwork -lclient -lvsn -lcommon -lgeneric -lepc -lnlsrtl3 -lcore4
> -lnlsrtl3 -lcore4 -lnlsrtl3 -lclient -lvsn -lcommon -lgeneric -lnlsrtl3
> -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lsocket -lnsl -lgen -ldl -lelf
> -laio -lposix4 -lsql -lm -lm
>
> ORACLE_LIBS=$(ORACLE_HOME)/lib/ -L$(ORACLE_HOME)/rdbms/lib
> -L$(ORACLE_HOME)/network/lib $(ORACLE_HOME)/rdbms/lib/defopt.o
> $(ORACLE_HOME)/lib/sscoreed.o $(ORACLE_HOME)/lib/nautab.o
> $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o
> $(ORACLE_HOME)/lib/naedhs.o $(ORACLE_L) $(ORACLE_L)
>
> oci_ oci_.c -I$(ORACLE_INCLUDES) -L$(ORACLE_LIBS) -DDCORACLE8
>
> Buffer Buffer.c
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://www.zope.org/mailman/listinfo/zope
>
> (To receive general Zope announcements, see:
> http://www.zope.org/mailman/listinfo/zope-announce
>
> For developer-specific issues, zope-dev@zope.org -
> http://www.zope.org/mailman/listinfo/zope-dev )
>