Hi,

I run into a strange problem today compiling DBD::Oracle on the newly
installed Oracle 10.1.0.3


the erorr I got was:
gcc -c  -I/usr/oracle/rdbms/demo -I/usr/oracle/rdbms/public 
-I/usr/oracle/plsql/public 
-I/usr/oracle/network/public -I/usr/oracle/rdbms/demo 
-I/usr/oracle/plsql/public 
-I/usr/oracle/rdbms/public -I/usr/oracle/rdbms/demo 
-I/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/DBI/ -D_REENTRANT
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-I/usr/include/gdbm -O2 -g -pipe 
-march=i386 -mcpu=i686   -DVERSION=\"1.16\" -DXS_VERSION=\"1.16\" -fPIC 
"-I/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE"  -Wall -Wno-comment 
-DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"10.1.0.3\" dbdimp.c
dbdimp.c: In function `ora_db_login6':
dbdimp.c:282: warning: unused variable `o'
dbdimp.c:283: warning: unused variable `l'
dbdimp.c:392: warning: implicit declaration of function 
`OCINlsEnvironmentVariableGet'
dbdimp.c:392: error: `OCI_NLS_CHARSET_ID' undeclared (first use in this 
function)
dbdimp.c:392: error: (Each undeclared identifier is reported only once
dbdimp.c:392: error: for each function it appears in.)
dbdimp.c:399: error: `OCI_NLS_NCHARSET_ID' undeclared (first use in this 
function)
dbdimp.c:426: warning: implicit declaration of function `OCIEnvNlsCreate'
dbdimp.c:435: warning: implicit declaration of function `OCINlsCharSetNameToId'
make: *** [dbdimp.o] Error 1


in the end it turns out there are TWO oci.h files one in rdbms/demo and
one in rdbs/public


release timestamp from the header of the file:
rdbms/public: oci.h 06-apr-2004.17:10:59
rdbms/demo: oci.h 23-jan-2002.01:46:43


description from the header of the file is identicall to both of them:

NAME
     oci.h - V8 Oracle Call Interface public definitions
                                                                                
                    
   DESCRIPTION
     This file defines all the constants and structures required by a V8
     OCI programmer.




so, I am not sure if I got an alien file somehow from some old oracle
version, as everything else worked perfectly.


anyway here is the quick fix, if anyone else get into the same problem:

1. run perl Makefile.PL
2. run make
        <---- you get the error
3. edit Makefile
4. locate the INC= line at the start of the file
5. make sure the search path contains first a "..../rdbms/public" and
only THEN ".../rdbms/demo" (switch places)
6. run make again
7. run make test and make install if all is OK



-- 


Best regards,
Doru Petrescu
Senior Software Engineer
Astral Telecom Bucuresti
                                                                                
                    




Reply via email to