Skip Menu |
 

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DBD-Oracle CPAN distribution.

Report information
The Basics
Id: 21936
Status: resolved
Priority: 0/
Queue: DBD-Oracle

People
Owner: Nobody in particular
Requestors: dmcr [...] Princeton.EDU
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: DBD-Oracle incompatibility with MM_Unix v1.5
Date: Fri, 6 Oct 2006 16:27:00 -0400
To: <bug-DBD-Oracle [...] rt.cpan.org>
From: "Dennis McRitchie" <dmcr [...] Princeton.EDU>
Download (untitled) / with headers
text/plain 1.7k
Hi, v1.18 has an incompatibility with ExtUtils::MM_Unix v1.50 (invoked by ExtUtils::MakeMaker). ExtUtils::MM_Unix v1.50 now requires that $self->{LD_RUN_PATH} be defined and not be an empty string so that the Makefile created will specify its use during the build. This is required by both SUPER::const_loadlibs and SUPER::dynamic_lib. Hence I thought it simplest to define/modify $self->{LD_RUN_PATH} before calling SUPER::const_loadlibs. This fix should be compatible with the old MM_Unix code as well. So the new code, after applying the attached patch, looks like this: sub const_loadlibs { my $self = shift; # ExtUtils::MM_Unix v1.50 (invoked by ExtUtils::MakeMaker) # requires that $self->{LD_RUN_PATH} be defined and not be # an empty string for Makefile to specify its use during the # build. This is required by both SUPER::const_loadlibs # and SUPER::dynamic_lib. hence it is best if we define # or modify $self->{LD_RUN_PATH} here *before* calling # SUPER::const_loadlibs. # edit LD_RUN_PATH ... my ($ldrp) = $self->{LD_RUN_PATH}; # remove redundant /lib or /usr/lib as it can cause problems $ldrp =~ s!:(/usr)?/lib$!! if $ldrp; # if it's empty then set it manually #Lincoln: if pick the right library path my $libdir = main::ora_libdir(); $ldrp ||= "$OH/$libdir:$OH/rdbms/$libdir"; $self->{LD_RUN_PATH} = $ldrp; local($_) = $self->SUPER::const_loadlibs(@_); print "Ignoring LD_RUN_PATH='$ENV{LD_RUN_PATH}' in environment\n" if $ENV{LD_RUN_PATH}; print "LD_RUN_PATH=$ldrp\n"; return $_; } Hope this helps. Dennis Dennis McRitchie Computational Science and Engineering Support (CSES) Academic Services Department Office of Information Technology Princeton University

Message body is not shown because sender requested not to inline it.

Patch included in DBD::1.19


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.