I think that did the trick. It seemed to compile. This is what I did for those who also run into the same trouble:

changed all instances (3) of "dword *" to "dvoid *" in src/dco2.c
changed "DEFS= @DEFS@" to "DEFS= " in src/Makefile
skipped all the Oracle detection logic and hard coded:
ORADEF="-DORACLE10G"
ORAINCLUDES="-lclntsh"

One thing that I did notice is that compiling this way was very quick and did not have any kind of success message. At the end of the compile you will notice that a dco2.so was moved into the DCOracle2 directory.

Thanks Matt for the tips.

--Seth


Matthew T.Kromer wrote:

Heh, I should have read the problem a bit closer:

i686-pc-linux-gnu-gcc -pthread -shared ./dco2.o -L/usr/lib/oracle/10.1.0.4/client/lib/ -lclntsh -lcommon -lcore4 -lnlsrtl3 -Wl,-rpath,/usr/lib/oracle/10.1.0.4/client/lib -o ./dco2.so /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../../i686- pc- linux-gnu/bin/ld: cannot find -lcommon
collect2: ld returned 1 exit status
make[1]: *** [dco2.so] Error 1


It looks to me like the makefile thinks you're running Oracle 8.0; not Oracle 10. Take a peek in the testora script in the src directory; you'll probably want to tweak it to skip the detections for oracle version and ends up making that call to sed at the bottom; for anything higher than Oracle 8.0 you should only need to link -lclntsh in. Also set the -DORACLE8i and -DORACLE9 defines manually, I expect. That will cause the code to compile slightly differently.

On Sep 28, 2005, at 10:34 PM, Seth Gottlieb wrote:

Thanks for responding. I commented out line 92:
#include <stdio.h>

and moved
#include <Python.h>
(which was around line 126) to the first of the includes. I still get the same error message. Anything else to try?

Thanks,

Seth

Matthew T. Kromer wrote:

Not sure, but I think DCOracle2 includes both Python.h and stdio.h -- try removing stdio.h and making the python.h include the first include.


On Sep 28, 2005, at 2:38 PM, Seth Gottlieb wrote:

I have been trying to compile DCOracle2 and found the instructions from "evstumpf at ucdavis."

When I do that, I get the error message:

i686-pc-linux-gnu-gcc -pthread -fPIC -DNDEBUG -I/usr/include/python2.3 -I/usr/include/python2.3 @DEFS@ -I/usr/lib/oracle/10.1.0.4/client/rdbms/demo -I/usr/lib/oracle/10.1.0.4/client/network/public -I/usr/lib/oracle/10.1.0.4/client/plsql/public -I/usr/lib/oracle/10.1.0.4/client/rdbms/public -DUSEOWNXID -c ././dco2.c -o ./dco2.o i686-pc-linux-gnu-gcc: cannot specify -o with -c or -S and multiple compilationsmake[1]: *** [dco2.o] Error 1

Then I followed the idea to change DEFS to nothing in the post by Matt at Bane:

[EMAIL PROTECTED]@
to
DEFS=

When I do this, I get:

i686-pc-linux-gnu-gcc -pthread -fPIC -DNDEBUG -I/usr/include/python2.3 -I/usr/include/python2.3 -I/usr/lib/oracle/10.1.0.4/client/rdbms/demo -I/usr/lib/oracle/10.1.0.4/client/network/public -I/usr/lib/oracle/10.1.0.4/client/plsql/public -I/usr/lib/oracle/10.1.0.4/client/rdbms/public -DUSEOWNXID -c ././dco2.c -o ./dco2.o
In file included from /usr/include/python2.3/Python.h:8,
from dco2.c:125:
/usr/include/python2.3/pyconfig.h:856:1: warning: "_POSIX_C_SOURCE" redefined
In file included from /usr/include/stdio.h:28,
from dco2.c:92:
/usr/include/features.h:190:1: warning: this is the location of the previous definition i686-pc-linux-gnu-gcc -pthread -shared ./dco2.o -L/usr/lib/oracle/10.1.0.4/client/lib/ -lclntsh -lcommon -lcore4 -lnlsrtl3 -Wl,-rpath,/usr/lib/oracle/10.1.0.4/client/lib -o ./dco2.so /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../../i686- pc- linux-gnu/bin/ld: cannot find -lcommon
collect2: ld returned 1 exit status
make[1]: *** [dco2.so] Error 1

My environment is:
Python: 2.3.4
Zope: 2.3.4
OS: Gentoo
Oracle: Instant Client 10.1.0.4 with extra .h files from the full install. put into rdbms/public:
nzerror.h
nzt.h
occi.h
occiAQ.h
occiCommon.h
occiControl.h
occiData.h
occiObjects.h
oci.h
oci1.h
oci8dp.h
ociap.h
ociapr.h
ocidef.h
ocidem.h
ocidfn.h
ociextp.h
ocikpr.h
ocixmldb.h
odci.h
oratypes.h
ori.h
orid.h
orl.h
oro.h
ort.h
xa.h



Some observations....
The error messages says that I should have .h files under rdbms/demo but mines does not have any and I was unable to find them anywhere.


Thanks,

Seth

--
Seth Gottlieb
Optaros, Inc.
60 Canal Street
Boston, MA 02114
e: [EMAIL PROTECTED]
v: 617.227.1855 ext. 107
f: 617.227.1755
m: 617.852.2956

_______________________________________________
Zope-DB mailing list
Zope-DB@zope.org
http://mail.zope.org/mailman/listinfo/zope-db





--
Seth Gottlieb
Optaros, Inc.
60 Canal Street
Boston, MA 02114
e: [EMAIL PROTECTED]
v: 617.227.1855 ext. 107
f: 617.227.1755
m: 617.852.2956




--
Seth Gottlieb
Optaros, Inc.
60 Canal Street
Boston, MA 02114
e: [EMAIL PROTECTED]
v: 617.227.1855 ext. 107
f: 617.227.1755
m: 617.852.2956

_______________________________________________
Zope-DB mailing list
Zope-DB@zope.org
http://mail.zope.org/mailman/listinfo/zope-db

Reply via email to