Thanks. I'll include it.

Tim.

On Fri, Mar 14, 2003 at 10:21:04AM +0100, [EMAIL PROTECTED] wrote:
> Hi,
> 
> That Makefile.PL still leaves the -l:libcl.a  which causes this error:
> 
> /usr/bin/ld: Invalid loader fixup in text space needed in output file for
> symbol "$0000005C" in input file: "/usr/lib/libcl.a(ftnerr.o)". Make sure it
> was compiled with +z/+Z.
> 
> Attempting to discover Oracle OCI build rules...
> cc    -c DBD_ORA_OBJ.c -o DBD_ORA_OBJ.o
> Oracle oci build command:
>         + -Wl,+s -Wl,+n -L/afs1/ora8174/lib/ -L/afs1/ora8174/rdbms/lib/ -o
> DBD_ORA_EXE DBD_ORA_OBJ.o /afs1/ora8174/rdbms/lib/kpudfo.o -lclntsh -lnbeq8
> -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncrypt8 -ln8 -lncrypt8
> -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lnent8 -lntcp8 -lntns8 -lnsgr8 -lnzjs8
> -ln8 -lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8
> -lncrypt8 -ln8 -lncrypt8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lnent8 -lntcp8
> -lntns8 -lnsgr8 -lnzjs8 -ln8 -lnl8 -lclient8 -lvsn8 -lwtc8 -lcommon8
> -lgeneric8 -lwtc8 -lmm -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 -lnbeq8 -lnhost8
> -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncrypt8 -ln8 -lncrypt8 -lnoname8
> -lntcp8 -lntcps8 -lnsslb8 -lnent8 -lntcp8 -lntns8 -lnsgr8 -lnzjs8 -ln8 -lnl8
> -lnro8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -ln8 -lncrypt8
> -ln8 -lncrypt8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lnent8 -lntcp8 -lntns8
> -lnsgr8 -lnzjs8 -ln8 -lnl8 -lclient8 -lvsn8 -lwtc8 -lcommon8 -lgeneric8
> -ltrace8 -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 -lclient8 -lvsn8 -lwtc8
> -lcommon8 -lgeneric8 -lnls8 -lcore8 -lnls8 -lcore8 -lnls8
> /afs1/ora8174/rdbms/lib/kpuadef.o -l:libcl.a -l:librt.sl -lpthread
> -l:libnss_dns.1 -l:libdld.sl -lm
> 
> It seem Oracle does it wrong but since it probably does it wrong on all HPUX
> with Ora8174 it's likely faster to change the Makefile.PL as opposed to
> waiting for Oracle to fix it :). The new Makefile.PL *does* seem to find
> OCI8 on our installs now, which is good.
> 
> Also I got annoyed by the warning about not having perl build with +z so I
> changed that too :)
> 
> Diff below and also attached (NOTE: diff based on the 1.13 Makefile.PL file
> you supplied):
> 
> *** Makefile.PL.113   Fri Mar 14 10:14:02 2003
> --- Makefile.fixed.113        Fri Mar 14 10:13:31 2003
> ***************
> *** 441,453 ****
>               }
>           }
>   
>           if (($linkwith !~ m/-lcl/) || ($linkwith !~ m/-lpthread/)) {
>               print "Warning: Oracle is built with multi-threading
> libraries\n"
>                   . "         You will most likely need to rebuild perl from
> sources\n"
>                   . "         with the following libraries: -lcl
> -lpthread\n" ;
>           }
>   
> !         if ( ($Config{'cc'} eq 'cc') && ($Config{'ccflags'} !~ m/\+z/ ) )
> {
>               print "Warning: perl was not built with +z in ccflags\n"
>                   . "         You may need to rebuild perl from sources\n"
>                   . "         See instructions in README.hpux\n" ;
> --- 441,458 ----
>               }
>           }
>   
> +          if ( $os eq "hpux" && $osvers >= 11 and $linkwith =~
> m/-l:libcl.a/) {
> +                 print "Warning: stripping -l:libcl.a from liblist
> (conflict with ld looking for shared libs)";
> +                 $linkwith =~ s/\s*-l:libcl.a\b//g;
> +     }
> + 
>           if (($linkwith !~ m/-lcl/) || ($linkwith !~ m/-lpthread/)) {
>               print "Warning: Oracle is built with multi-threading
> libraries\n"
>                   . "         You will most likely need to rebuild perl from
> sources\n"
>                   . "         with the following libraries: -lcl
> -lpthread\n" ;
>           }
>   
> !         if ( ($Config{'cc'} eq 'cc') && ($Config{'ccflags'} !~ m/\+z/ &&
> $Config{'ccldflags'} !~ m/\+Z/i) ) {
>               print "Warning: perl was not built with +z in ccflags\n"
>                   . "         You may need to rebuild perl from sources\n"
>                   . "         See instructions in README.hpux\n" ; 
> 
> 
> 
> -----------------------------------
> Frans Postma, (050-58) 81 852
> ATOS Origin, Unix Support 
>      "If at first you don't succeed, skydiving isn't for you"
> 
> 
> 
> 
> > -----Oorspronkelijk bericht-----
> > Van: Tim Bunce [mailto:[EMAIL PROTECTED]
> > Verzonden: donderdag 13 maart 2003 17:48
> > Aan: [EMAIL PROTECTED]
> > CC: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> > Onderwerp: Re: DBD:Oracle 1.12 makefile patches for building on HPUX11
> > 
> > 
> > Please try the attached Makefile.PL from the soon-to-be-released
> > DBD::Oracle 1.13.
> > 
> > If it doesn't work for you please send me a patch based on that
> > version. (As an attachment, because your mailer has wrapped 
> > the lines.)
> > 
> > Thanks.
> > 
> > Tim.
> > 
> > On Thu, Mar 13, 2003 at 05:03:59PM +0100, 
> > [EMAIL PROTECTED] wrote:
> > > Hi,
> > > 
> > > In order to get DBD:Oracle 1.12 to compile AND use OCI8 on 
> > our HPUX 11i
> > > systems I had to make some modifications to the supplied 
> > Makefile.PL.
> > > 
> > > 1.  Force join lines which oracle returns as it's build 
> > command, in order to
> > > be able to use OCI8 calls (otherwise I get the unable to 
> > interpret OCI
> > > commands error, due to multi-line output)
> > > 
> > > 2. When building against Oracle 9.2.0.2 I noticed that 
> > somehow "-l:libcl.a"
> > > got into the library list. Obviously that causes troubles 
> > when building a
> > > shared extension :) So.. I sed/grepped '-l:libcl.a' out of 
> > the linkwith list
> > > and it compiles fine once again.
> > > 
> > > I'm not sure if the way I force the oci8/line-join is the 
> > best or preferred
> > > solution, it works for me though. 
> > > 
> > > (and yes, I did manage to build a working DBD 1.12 against 
> > Oracle 9.2.0.2,
> > > that required a perl configured and build for 64bits though)
> > > 
> > > Patch below:
> > > 
> > > # diff -c DBD-Oracle-1.12/Makefile.PL Makefile.fixed
> > > *** DBD-Oracle-1.12/Makefile.PL Fri Aug 31 18:27:15 2001
> > > --- Makefile.fixed      Wed Mar 12 17:55:23 2003
> > > ***************
> > > *** 299,304 ****
> > > --- 299,328 ----
> > >         @cmds = grep { my $skip = $prev eq "echo $_"; 
> > $prev=$_; !$skip }
> > > @cmds;
> > >         my @prolog; push @prolog, shift @cmds while @cmds 
> > && $cmds[0] !~
> > > /DBD_ORA_EXE/;
> > >         print "Oracle oci build prolog:\n\t",  join("\n\t", 
> > @prolog), "\n"
> > > if @prolog;
> > > + 
> > > +       # Try harder to get OCI8
> > > +          # Join multi-line output
> > > +          my $xx=join(" ",@cmds);
> > > +          chomp $xx;
> > > +  
> > > +          # expand `` commands
> > > +          $xx=~s/(`[^`]+?`)/$1/eeg;
> > > +          $xx=~s/[\t\n]+/ /g;
> > > +  
> > > +          # strip duplicate libraries but keep order
> > > +          my %lh;
> > > +          my $xx2='';
> > > +          foreach my $w (split(/ +/,$xx)) {
> > > +                  if (!exists $lh{$w}) {
> > > +                          $xx2.=$w.' ';
> > > +                          $lh{$w}++;
> > > +                  } else {
> > > +                          print "skipped duplicate: $w\n" 
> > if $::opt_v;
> > > +                  }
> > > +          }
> > > +          undef @cmds;
> > > +          push (@cmds,"$xx2\n");
> > > +  
> > >         print "Oracle oci build command:\n\t", join("\n\t", 
> > @cmds), "\n";
> > >         while ($cmds[0] =~ s/\\$/ /) { # join lines split with \'s
> > >             $cmds[0] .= splice(@cmds,1,1);
> > > ***************
> > > *** 364,369 ****
> > > --- 388,398 ----
> > >                   . "         seems to conflict with -l:libcl.a\n" ;
> > >               $linkwith =~ s/\s*-lcl\b//g;
> > >           }
> > > + 
> > > +         if ( $os eq "hpux" && $osvers >= 11 and $linkwith =~
> > > m/-l:libcl.a/) {
> > > +                print "Warning: stripping -l:libcl.a from 
> > liblist (conflict
> > > with ld looking for shared libs)";
> > > +                $linkwith =~ s/\s*-l:libcl.a\b//g;
> > > +       }
> > >   
> > >           if (($linkwith !~ m/-lcl/) || ($linkwith !~ 
> > m/-lpthread/)) {
> > >               print "Warning: Oracle is built with multi-threading
> > > libraries\n"
> > > 
> > > -----------------------------------
> > > Frans Postma, (050-58) 81 852
> > > ATOS Origin, Unix Support 
> > >      "If at first you don't succeed, skydiving isn't for you"
> > > 
> > > 
> > > 
> > > 
> > > > -----Oorspronkelijk bericht-----
> > > > Van: Tim Bunce [mailto:[EMAIL PROTECTED]
> > > > Verzonden: donderdag 13 maart 2003 14:14
> > > > Aan: [EMAIL PROTECTED]
> > > > CC: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> > > > Onderwerp: Status of DBI 1.35 (was: Install of DBI)
> > > > 
> > > > 
> > > > On Thu, Mar 13, 2003 at 09:57:12AM +0100, 
> > > > [EMAIL PROTECTED] wrote:
> > > > > 
> > > > > www.perl.com/CPAN  should work nicely :)
> > > > > 
> > > > > Latest stable version of DBI would appear to be 1.30. 
> > > > Changes coming a bit
> > > > > too fast to call the newer versions 'stable' though (sorry Tim).
> > > > 
> > > > No need to appologise.
> > > > 
> > > > The only problems I'm aware of for 1.35 are:
> > > > 
> > > >  perl Makefile.PL PREFIX=<whatever>  reported not to work 
> > > > (not checked yet)
> > > >  Minor tweak to t/80proxy.t test (not important)
> > > >  The t/zz_* test files are not deleted by 'make clean' 
> > (not important)
> > > > 
> > > > So I think it's well worth testing by a wider audience now.
> > > > 
> > > > Tim.
> > > > 
> > 
> 


Reply via email to