Thanks! Anyone interested in writing a utility to generate a Parrot NCI interface for Oracle OCI? (Basically "just" parse oracle header files and spit out Parrot NCI function interface definitions.)
If you're interested then post to the [EMAIL PROTECTED] mailinglist (which is also used for Oracle::OCI module). Tim. On Fri, Nov 19, 2004 at 04:50:45PM +0000, Charles Jardine wrote: > I have just tried to compile Oracle::OCI 0.06 under DBI 1.46 > and DBD::Oracle 1.16. (Using perl 5.8.5-dor under Solaris 8). > The compilation failed. The first error message was: > > "OCI.xs", line 6: cannot find include file: <Oracle.h> > > The cause of the problem is a small change in the behaviour of > DBI::DBD::dbd_dbi_arch_dir(). In DBI 1.43, this returned a > string ending with '/DBI', in 1.46 the string ends with '/DBI/'. > The extra '/' confuses the Makefile.PL that is created by > Oracle-OCI-0.06/boot, so that it does not set the include path > correctly for the compilation. > > I have attached a patch. I hope this helps someone. > > -- > Charles Jardine - Computing Service, University of Cambridge > [EMAIL PROTECTED] Tel: +44 1223 334506, Fax: +44 1223 334679 > diff -u -r Oracle-OCI-0.06/boot Oracle-OCI-0.06.patched/boot > --- Oracle-OCI-0.06/boot Thu Aug 30 16:49:24 2001 > +++ Oracle-OCI-0.06.patched/boot Fri Nov 19 16:37:51 2004 > @@ -293,7 +293,7 @@ > use DBI::DBD; > my $dbi_dir = dbd_dbi_dir(); > my $dbi_arch_dir = dbd_dbi_arch_dir(); > - (my $ora_arch_dir = $dbi_arch_dir) =~ s!DBI$!DBD/Oracle!; > + (my $ora_arch_dir = $dbi_arch_dir) =~ s!DBI/?$!DBD/Oracle!; > }."\n" if $. == 1; > s!^\);! CONFIGURE => \\&wmf_config,\n);!; > print $new_mk $_;