[Zope-DB] Installing DCOracle2 with Oracle 10g

Jet Wilda jet.wilda at kobie.com
Thu Sep 29 11:10:55 EDT 2005


Here http://www.zope.org/Members/jetfu/HowToInstallDcOracle2/howto_view
is a how to I wrote up on how I got DCOracle2 to install with Oracle 10g

Jet

> 
> Message: 6
> Date: Thu, 29 Sep 2005 10:57:23 -0400
> From: Seth Gottlieb <sgottlieb at optaros.com>
> Subject: Re: [Zope-DB] Installing DCOracle2 with Oracle 10g
> To: "Matthew T.Kromer" <matt at bane.mi.org>
> Cc: zope-db at zope.org
> Message-ID: <433C00D3.5060407 at optaros.com>
> Content-Type: text/plain; charset=US-ASCII; format=flowed
> 
> 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:
> >>>>
> >>>> DEFS=@DEFS@
> >>>> 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.
> >>>>
> >>>>


More information about the Zope-DB mailing list