My Solaris setup has only got one oci.h in rdbms/public as does my pretty much out of the box Windows installation.

Martin

Tim Bunce wrote:

On Wed, Nov 24, 2004 at 01:39:53PM +0200, Doru Petrescu wrote:


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



Can anyone else with access to Oracle 10.1 confirm if they've got two oci.h files?

[Note that you may not get the same failure even if you do, as
currently the order of the header file directories is not fixed.]



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:
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



Does making this change to Makefile.PL fix it?

@@ -1300,9 +1300,10 @@
       my $dir = $File::Find::dir;
       $dir =~ s:^\Q$OH/::;
       $h_dir{$dir} = $_;
-       $h_file{$_} = $dir;
+       $h_file{$_} ||= $dir; # record first one found
       print "Found $dir/$_\n" if $::opt_d;
-    }, "$OH/rdbms",
+    }, "$OH/rdbms/public",
+       "$OH/rdbms",
       "$OH/plsql", # oratypes.h sometimes here (eg HPUX 11.23 Itanium Oracle 
9.2.0)
    );
    @h_dir = keys %h_dir;

One day (soon, I'm told) they'll get the SDK files added to their
Instant Client and these headaches will be greatly reduced.

Tim.





Reply via email to