Opened 17 years ago

Closed 14 years ago

#1651 closed defect (invalid)

OCI Support for Oracle 9i

Reported by: dassau Owned by: ilucena
Priority: normal Milestone:
Component: OGR_SF Version: svn-trunk
Severity: normal Keywords: oracle oci
Cc: warmerdam

Description

Hi,

I try to build GDAL packages under debian sarge with OCI support for a oracle 9i database. Therefore I have header and lib provided as .deb packages. The header files a provided in two folders: /usr/lib/oracle/9.2.0/OraHome/rdbms/public and /usr/lib/oracle/9.2.0/OraHome/rdbms/demo

When I try to configure GDAL with following parameters:

--with-oci-include='/usr/lib/oracle/9.2.0/OraHome/rdbms/public \

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo' \

--with-oci-lib=/usr/lib/oracle/9.2.0/OraHome/lib

I get following error:

checking for Oracle OCI headers in /usr/lib/oracle/9.2.0/OraHome/rdbms/public /usr/lib/oracle/9.2.0/OraHome/rdbms/demo... not found checking if Oracle support is enabled... no

config.log: configure:22465: checking for Oracle OCI headers in /usr/lib/oracle/9.2.0/OraHome/rdbms/public /usr/lib/oracle/9.2.0/OraHome/rdbms/demo configure:22503: g++ -c -g -O2 -I/usr/lib/oracle/9.2.0/OraHome/rdbms/public /usr/lib/oracle/9.2.0/OraHome/rdbms/demo conftest.cc >&5 conftest.cc:68:17: oci.h: No such file or directory conftest.cc:81:4: #error Oracle oci.h header not found

When I switch the order of the two oci-include directories:

--with-oci-include='/usr/lib/oracle/9.2.0/OraHome/rdbms/demo \

/usr/lib/oracle/9.2.0/OraHome/rdbms/public' \

--with-oci-lib=/usr/lib/oracle/9.2.0/OraHome/lib

I get following error:

checking for Oracle OCI headers in /usr/lib/oracle/9.2.0/OraHome/rdbms/demo /usr/lib/oracle/9.2.0/OraHome/rdbms/public... not found checking if Oracle support is enabled... no

config.log configure:22465: checking for Oracle OCI headers in /usr/lib/oracle/9.2.0/OraHome/rdbms/demo /usr/lib/oracle/9.2.0/OraHome/rdbms/public configure:22503: g++ -c -g -O2 -I/usr/lib/oracle/9.2.0/OraHome/rdbms/demo /usr/lib/oracle/9.2.0/OraHome/rdbms/public conftest.cc >&5 In file included from conftest.cc:68: /usr/lib/oracle/9.2.0/OraHome/rdbms/demo/oci.h:2159:21: ociextp.h: No such file or directory In file included from /usr/lib/oracle/9.2.0/OraHome/rdbms/demo/oci.h:2164,

from conftest.cc:68:

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo/ociap.h:192:17: nzt.h: No such file or directory In file included from /usr/lib/oracle/9.2.0/OraHome/rdbms/demo/oci.h:2164,

from conftest.cc:68:

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo/ociap.h:6607: error: type specifier

omitted for parameter `nzttWallet'

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo/ociap.h:6607: error: parse error

before `*' token

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo/ociap.h:6611: error: type specifier

omitted for parameter `nzttWallet'

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo/ociap.h:6611: error: parse error

before `*' token

... [snip]

It seems, that only the first path provided with the "--with-oci-include" parameter is checked. When I look into the config.log file, in the beginning it says:

less config.log: Invocation command line was $ ./configure --prefix=/usr --mandir=/share/man --with-threads --with-grass=no --with-geotiff=internal --with-xerces --with-netcdf --with-jasper --with-odbc=no --with-python --with-postgresql --with-oci-include=/usr/lib/oracle/9.2.0/OraHome/rdbms/demo /usr/lib/oracle/9.2.0/OraHome/rdbms/public --with-oci-lib=/usr/lib/oracle/9.2.0/OraHome/lib

Here the quotation marks are missing for the 2 "--with-oci-include" pathes. Maybe they are not added and used for configuration?

I hope someone has a clue for this.

thanks

Otto

PS: I checked with version 1.4.1 and svn checkout this morning.

Change History (16)

comment:1 by dassau, 17 years ago

some additional info:

hi,

when I put all header files into a folder "test" it works (see below) except that there seems to be a problem detecting the correct Oracle version.

checking for Oracle OCI headers in /usr/lib/oracle/9.2.0/OraHome/rdbms/test... yes checking for Oracle OCI libraries in /usr/lib/oracle/9.2.0/OraHome/lib... yes checking if Oracle OCI version is >= 8.1.7... no configure: WARNING: Oracle version unknown, probably OCI older than 10.2 is available checking if Oracle support is enabled... yes

regards,

Otto

comment:2 by dassau, 17 years ago

Hi,

found that it works (better) only defining:

./configure --with-oci=/usr/lib/oracle/9.2.0/OraHome

but it still doesn't get the oracle version:

checking for Oracle OCI headers in /usr/lib/oracle/9.2.0/OraHome/rdbms/public... yes checking for Oracle OCI libraries in /usr/lib/oracle/9.2.0/OraHome/lib... yes cat: /usr/lib/oracle/9.2.0/OraHome/rdbms/public/oci.h: No such file or directory cat: /usr/lib/oracle/9.2.0/OraHome/rdbms/public/oci.h: No such file or directory checking if Oracle OCI version is >= 8.1.7... no configure: WARNING: Oracle version unknown, probably OCI older than 10.2 is available checking if Oracle support is enabled... yes

that's one the one hand, because oci.h is located in rdbms/demo and not in rdbms/public as assumed and on the other hand, because following lines in m4/ax_oracle_oci.m4 dont work:

oracle_version_major=`cat $oracle_include_dir/oci.h \

| grep '#define.*OCI_MAJOR_VERSION.*' \ | sed -e 's/#define OCI_MAJOR_VERSION *' \ | sed -e 's/ *\/\*.*\*\/'`

oracle_version_minor=`cat $oracle_include_dir/oci.h \

| grep '#define.*OCI_MINOR_VERSION.*' \ | sed -e 's/#define OCI_MINOR_VERSION *' \ | sed -e 's/ *\/\*.*\*\/'`

because these variables OCI_MAJOR_VERSION and OCI_MINOR_VERSION don't exist in rdbms/demo/oci.h of the oracle 9i. At least not in my installation.

regards,

Otto

comment:3 by dassau, 17 years ago

Hi,

gdal 1.4.1 and current svn now configures and compiles, but there are still some problems with oracle 9i databases as described above which could be optimized. If you like I can try to help.

1) The header files are provided in two folders: rdbms/public and rdbms/demo. Trying to configure GDAL fails with:

--with-oci-include='/usr/lib/oracle/9.2.0/OraHome/rdbms/public \

/usr/lib/oracle/9.2.0/OraHome/rdbms/demo' \

--with-oci-lib=/usr/lib/oracle/9.2.0/OraHome/lib

and only works with:

--with-oci=/usr/lib/oracle/9.2.0/OraHome

2) during configuration gdal does not find the oracle version, because:

a) oci.h is located in rdbms/demo and not in rdbms/public as assumed when no pathes are provided with "--with-oci-include" b) variables OCI_MAJOR_VERSION and OCI_MINOR_VERSION as used in ax_oracle_oci.m4 don't exist in rdbms/demo/oci.h. At least not in my oracle 9i.

kind regards,

Otto

comment:4 by Mateusz Łoskot, 17 years ago

Owner: changed from warmerdam to Mateusz Łoskot
Status: newassigned

comment:5 by warmerdam, 17 years ago

Milestone: 1.4.3

If there are fixes to be made, I'm hopefully this could be addressed in 1.4.3. Milestone set.

comment:6 by warmerdam, 17 years ago

Milestone: 1.4.31.5.0

Moving to 1.5 to lighten 1.4.3 load.

comment:7 by warmerdam, 16 years ago

Component: defaultOGR_SF
Keywords: OCI added
Milestone: 1.5.01.5.1

OCI issues deferred to 1.5.1.

comment:8 by warmerdam, 16 years ago

Milestone: 1.5.11.5.2

comment:9 by mloskot, 16 years ago

Keywords: Oracle added

comment:10 by mloskot, 16 years ago

Keywords: oracle oci added; Oracle OCI removed

comment:11 by Mateusz Łoskot, 16 years ago

Owner: Mateusz Łoskot removed
Status: assignednew

I'm unable to diagnose and fix it due to no access to Oracle 9

comment:12 by warmerdam, 14 years ago

Cc: warmerdam added
Milestone: 1.5.4
Owner: set to ilucena

Ivan,

What do you think about this? Perhaps there is no action to take?

comment:13 by ilucena, 14 years ago

I usually have the environment variable ORACLE_HOME pointing to where Oracle is installed so I don't even need to enter any option on ./configure. That is also valid for the file nmake.opt in Windows.

% printenv ORACLE_HOME
/home/oracle/product/11gR2/db

But I have not build GDAL/OGR against Oracle version 9.

comment:14 by ilucena, 14 years ago

Hi Otto.

Are you still interest in compiling GDAL/OGR with support for Oracle 9?

Please let us know if you have updated Oracle and doesn't need that ticket open anymore.

Thanks,

Ivan

comment:15 by dassau, 14 years ago

Hi,

no, they use 10 or 11 now so the ticket can be closed.

thanks a lot

Otto

comment:16 by dassau, 14 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.