Thanks. I've made find_headers always return absolute paths and
made the corresponding changes elsewhere. RC5 is on it's way...

Tim.

On Mon, Jan 16, 2006 at 02:57:21PM +0100, Honza Pazdziora wrote:
> On Wed, Jan 11, 2006 at 10:22:18AM +0000, Tim Bunce wrote:
> > > Running
> > > 
> > >   ORACLE_HOME=/usr/lib/oracle/10.2.0.1/client/lib perl Makefile.PL -m 
> > > /usr/share/oracle/10.2.0.1/client/demo.mk
> > > 
> > > seems to go well for the Makefile.PL, but make is not able to find
> > > the header files. So it seems that some more tweaking will be needed
> > > for .rpm instalations of Instant Client where the only common path of
> > > the installation is /usr.
> > 
> > I've added /usr/include/oracle/$client_version_full/client to the list
> > of directories searched for header files[1], and added an option to
> > explicitly add an extra directory to the front of that list.
> 
> The directory returned by find_headers is the full
> 
>       /usr/include/oracle/10.2.0.1/client
> 
> path (in my case). The code
> 
>       map { "-I$OH/$_" }
> 
> make it into
> 
>       -I/usr/lib/oracle/10.2.0.1/client//usr/include/oracle/10.2.0.1/client
> 
> for my value of
> 
>       ORACLE_HOME=/usr/lib/oracle/10.2.0.1/client
> 
> So in my case (but I'm not sure what the general goal of that code is),
> just prepending -I (and not -I$OH) fixed the compilation.
> 
> --- Makefile.PL.orig    2006-01-16 14:40:52.000000000 +0100
> +++ Makefile.PL 2006-01-16 14:51:55.000000000 +0100
> @@ -635,7 +635,7 @@
>      my $OCIINCLUDE = expand_mkvars($MK{INCLUDE} || '', 0, 0);
>      # $OCIINCLUDE .= " -I$OH/rdbms/demo";
>      my @h_dirs = find_headers();
> -    my $inc = join " ", map { "-I$OH/$_" } @h_dirs;
> +    my $inc = join " ", map { "-I$_" } @h_dirs;
>      $opts{INC}  = "$inc $OCIINCLUDE -I$dbi_arch_dir";
>  }
> 
> @@ -1298,6 +1298,7 @@
> 
>  sub expand_mkvars {
>      my ($string, $strip, $backtick, $level, $maxlevel) = @_;
> +    return unless defined $string;
>      $level ||= 1;
>      local($_) = $string;
>      print "$level Expanding $_\n" if $::opt_d;
> 
> -- 
> ------------------------------------------------------------------------
>  Honza Pazdziora | [EMAIL PROTECTED] | http://www.fi.muni.cz/~adelton/
>  .project: Perl, mod_perl, DBI, Oracle, large Web systems, XML/XSL, ...
>               Only self-confident people can be simple.

Reply via email to