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