On Tue, Mar 25, 2003 at 03:19:50PM +0100, Honza Pazdziora wrote:
> On Tue, Mar 25, 2003 at 02:09:24PM +0000, Tim Bunce wrote:
> > Here's a Release Candidate of DBD::Oracle 1.14:
> > 
> >   http://homepage.eircom.net/~timbunce/DBD-Oracle-1.14-20020325gamma.tar.gz
> > 
> > I'd appreciate it if people could give it a whirl ASAP...
> 
> I have an Sparc Solaris 8 installation of Oracle 9.2.0, with This is
> perl, version 5.005_03 built for sun4-solaris and DBI 999
> required--this is only version 1.30.
> 
> The Oracle is a 64 binary, so the linking fails with
> 
> LD_RUN_PATH="/export/packages/oracle-9.2.0/lib:/export/packages/oracle-9.2.0/rdbms/lib"
>  gcc -o blib/arch/auto/DBD/Oracle/Oracle.so  -G Oracle.o  dbdimp.o  oci7.o  oci8.o 
> -L/opt/SUNWcluster/lib -R/opt/SUNWcluster/lib -o build 
> -L/export/packages/oracle-9.2.0/rdbms/lib/ -L/export/packages/oracle-9.2.0/lib/   
> -lclntsh -lnbeq9 -lnhost9 -lnus9 -lnldap9 -lldapclnt9 -lnsslb9 -lnnis9 -lnoname9 
> -lntcp9 -lntcps9 -lnsslb9 -lntcp9 -lntns9 -lnsl -lsocket -lgen -ldl 
> -R/export/packages/oracle-9.2.0/lib -laio -lposix4 -lkstat -lm -lthread    
> ld: warning: option -o appears more than once, first setting taken
> ld: fatal: file /export/packages/oracle-9.2.0/lib//libclntsh.so: wrong ELF class: 
> ELFCLASS64
> ld: fatal: File processing errors. No output written to 
> blib/arch/auto/DBD/Oracle/Oracle.so
> collect2: ld returned 1 exit status
> *** Error code 1
> make: Fatal error: Command failed for target `blib/arch/auto/DBD/Oracle/Oracle.so'
> 
> It's easily fixed by replacing all the relevant lib with lib32.
> Then the compilation runs just fine, even if I wonder it DBD::Oracle
> building process could somehow figure this out?

Did the 'perl Makefile.PL' say it was using the build-rules from Oracle?

Patches always welcome.

> The make test runs fine except for
> 
> t/long..............Illegal hex digit ignored at t/long.t line 106.
> Illegal hex digit ignored at t/long.t line 109.
> Illegal hex digit ignored at t/long.t line 111.

Ah, I guess that's a compile time error - at run time the uft8 code
isn't executed for perl 5.5.3. Does the attached patch fix it?

[You do know I'll be removing support for perl 5.5 soon, right?]

Tim.

--- t/long.t    2003/03/14 17:45:27     1.8
+++ t/long.t    2003/03/25 15:01:02
@@ -103,12 +103,14 @@
 
     my $long_data0;
     if ($utf8_test) {
-      $long_data0 = ("0\x{263A}xyX"   x 2048) x (1    );  # 10KB  < 64KB
+      my $utf_x = eval q{ "0\x{263A}xyX" };
+      my $utf_z = eval q{ "0\x{263A}xyZ" };
+      $long_data0 = ($utf_x x 2048) x (1    );  # 10KB  < 64KB
       if (length($long_data0) > 10240) {
        print "known bug in Perl5.6.0, applying workaround\n";
-       $long_data0 = "0\x{263A}xyZ";
+       $long_data0 = $utf_z;
        foreach my $i (1..2047) {
-         $long_data0 .= "0\x{263A}xyZ";
+         $long_data0 .= $utf_z;
        }
       }
       if ($type_name =~ /BLOB/) {


Reply via email to