Bug#788155: perl-modules: ExtUtils::MakeMaker installs perl modules in the wrong directory
Vincent Lefevre
vincent at vinc17.net
Mon Jun 8 22:03:04 UTC 2015
Package: perl-modules
Version: 5.20.2-3+deb8u1
Severity: important
While there were no problems with Debian up to Debian 7,
ExtUtils::MakeMaker now installs perl modules in the wrong
directory. For instance, I build Math-MPFR-3.24 with:
unset PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT
mkdir $HOME/testdir
perl Makefile.PL PREFIX="$HOME/testdir"
make
Then:
$ make install
[...]
Appending installation info to /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/perllocal.pod
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/auto/Math/MPFR/MPFR.so
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/auto/Math/MPFR/Prec/Prec.so
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/auto/Math/MPFR/Random/Random.so
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/auto/Math/MPFR/V/V.so
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/Math/MPFR.pm
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/Math/MPFR/Prec.pm
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/Math/MPFR/Random.pm
Installing /home/vlefevre/testdir/lib/x86_64-linux-gnu/perl/5.20.2/Math/MPFR/V.pm
Installing /home/vlefevre/testdir/man/man3/Math::MPFR.3pm
This is wrong because perl won't search the modules in
"$PREFIX/lib/x86_64-linux-gnu/perl/5.20.2".
$ PERL5LIB=$HOME/testdir/lib/perl perl -MMath::MPFR -e ''
Can't locate Math/MPFR.pm in @INC (you may need to install the Math::MPFR module) (@INC contains: /home/vlefevre/testdir/lib/perl /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .).
BEGIN failed--compilation aborted.
The perlrun(1) man page says:
PERL5LIB A list of directories in which to look for Perl
library files before looking in the standard library
and the current directory. Any architecture-specific
and version-specific directories, such as
version/archname/, version/, or archname/ under the
specified locations are automatically included if they
exist, with this lookup done at interpreter startup
time. [...]
To follow the PERL5LIB convention, the files should not have been
installed in
$PREFIX/lib/x86_64-linux-gnu/perl/5.20.2
but in
$PREFIX/lib/perl/5.20.2/x86_64-linux-gnu-thread-multi
for which I do not get an error.
-- System Information:
Debian Release: 8.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages perl-modules depends on:
ii dpkg 1.17.25
ii perl-base 5.20.2-3+deb8u1
Versions of packages perl-modules recommends:
ii libarchive-extract-perl 0.72-1
ii libcgi-pm-perl 4.09-1
ii libmodule-build-perl 0.421000-2
ii libmodule-pluggable-perl 5.1-1
ii libpackage-constants-perl 0.04-1
ii libpod-latex-perl 0.61-1
ii libterm-ui-perl 0.42-1
ii libtext-soundex-perl 3.4-1+b2
ii perl 5.20.2-3+deb8u1
Versions of packages perl-modules suggests:
pn libb-lint-perl <none>
pn libcpanplus-dist-build-perl <none>
pn libcpanplus-perl <none>
pn libfile-checktree-perl <none>
ii liblog-message-perl 0.8-1
ii liblog-message-simple-perl 0.10-2
pn libobject-accessor-perl <none>
-- no debconf information
More information about the Perl-maintainers
mailing list