Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 25268
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: cberry [...] cpan.org
Cc:
AdminCc:

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



Subject: [PATCH] ExtUtils::Liblist::Kid::_vms_ext, better debug check
This patch modifies the VMS-specific code that finds which Perl shareable image (dynamic library) to link against. It wil now use linker flags rather than compiler flags to determine if the shareable image was linked debug. Without this, an OPTIMIZE specification passed to WriteMakefile could cause us to link against the wrong image (or one that doesn't exist).
Subject: kidlib.patch.txt
--- lib/ExtUtils/Liblist/Kid.pm;-0 Tue Feb 27 22:29:38 2007 +++ lib/ExtUtils/Liblist/Kid.pm Sat Mar 3 16:25:33 2007 @@ -10,7 +10,7 @@ use 5.00503; use strict; use vars qw($VERSION); -$VERSION = 1.32; +$VERSION = 1.32_01; use Config; use Cwd 'cwd'; @@ -376,8 +376,7 @@ sub _vms_ext { $verbose ||= 0; my(@crtls,$crtlstr); - my($dbgqual) = $self->{OPTIMIZE} || $Config{'optimize'} || - $self->{CCFLAGS} || $Config{'ccflags'}; + my($dbgqual) = $self->{'ldflags'} . $Config{'ldflags'}; @crtls = ( ($dbgqual =~ m-/Debug-i ? $Config{'dbgprefix'} : '') . 'PerlShr/Share' ); push(@crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'});
From: cberry [...] cpan.org
Looks like we also need: --- lib/ExtUtils/Liblist/Kid.pm;-0 Mon Mar 5 07:21:57 2007 +++ lib/ExtUtils/Liblist/Kid.pm Tue Mar 6 21:48:02 2007 @@ -376,7 +376,7 @@ sub _vms_ext { $verbose ||= 0; my(@crtls,$crtlstr); - my($dbgqual) = $self->{'ldflags'} . $Config{'ldflags'}; + my($dbgqual) = $Config{'ldflags'}; @crtls = ( ($dbgqual =~ m-/Debug-i ? $Config{'dbgprefix'} : '') . 'PerlShr/Share' ); push(@crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'}); [end of patch] It turns out that MM->{ldflags} is not always (perhaps seldom?) defined, and even if it were, it would only tell us what we're using to link the extension, not what was used to link the perlshr shareable image (aka dynamic library), and that's the thing we are trying to figure out the proper name for here. Note that these changes have been checked into blead at: http://public.activestate.com/cgi-bin/perlbrowse/p/30462 http://public.activestate.com/cgi-bin/perlbrowse/p/30511
Closing my eyes and hitting commit.