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