Bug#549170: perl: DynaLoader is in perl-base but needs Config_heavy.pl from perl
Niko Tyni
ntyni at debian.org
Thu Oct 1 07:12:01 UTC 2009
Package: perl
Version: 5.10.1-4
Severity: serious
As revealed by the piuparts test at
http://piuparts.debian.org/sid/fail/libperl5.10_5.10.1-4.log
DynaLoader from perl-base no longer works without perl installed:
Can't locate Config_heavy.pl in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/lib/perl/5.10/Config.pm line 69.
This was caused by upstream change
http://perl5.git.perl.org/perl.git/commit/9e6e929b49155a4e040be3c98aa578e5de1ec66d
which makes $dl_dlext and $dl_so get expanded at runtime rather than buildtime.
These need Config_heavy.pl which is in the perl package.
The relevant discussion starts at
http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131528.html
Quoting Jan Dubious there:
> However, I think that interpolating $dl_dlext and $dl_so at buildtime
> was a mistake; we should have retained the module variables and
> interpolated them at runtime.
I'll hardcode the values for now as a quick fix, but I don't think this
deviation from upstream is a good thing in the long run. Brendan,
can you recall any specific reason (other than 'not needed') why
Config_heavy.pl is not in perl-base?
--- /usr/lib/perl/5.10.1/DynaLoader.pm 2009-09-29 19:57:59.000000000 +0000
+++ /tmp/DynaLoader 2009-10-01 07:03:09.000000000 +0000
@@ -39,7 +39,8 @@
sub dl_load_flags { 0x00 }
-($dl_dlext, $dl_so, $dlsrc) = @Config::Config{qw(dlext so dlsrc)};
+#($dl_dlext, $dl_so, $dlsrc) = @Config::Config{qw(dlext so dlsrc)};
+($dl_dlext, $dl_so, $dlsrc) = ('so', 'so', 'dl_dlopen.xs');
$do_expand = 0;
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list