Subject: | INSTALL_BASE not honored when installing module |
Date: | Mon, 12 Apr 2010 12:35:09 -0700 |
To: | bug-Net-STOMP-Client [...] rt.cpan.org |
From: | 0friday [...] deschiado.com |
Hello,
Reporting a installer bug with Net::STOMP::Client, it appears that the
installer does not respect INSTALL_BASE and as such attempts to install into
the root/system perl library locations and not into the location specified
by INSTALL_BASE (in my case a local::lib environment found in
/home/perl-user/perl5).
I am using cpanm to install but the error occurs both when using cpan or by
compiling the module by hand.
Information about my system:
$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=linux, osvers=2.6.29-gentoo-r5, archname=i686-linux-thread-multi
uname='linux vmhostname 2.6.29-gentoo-r5 #4 smp wed jul 8 12:25:34 pdt
2009 i686 intel(r) core(tm)2 cpu t7600 @ 2.33ghz genuineintel gnulinux
'
config_args='-des -Darchname=i686-linux-thread -Dcccdlflags=-fPIC
-Dccdlflags=-rdynamic -Dcc=i686-pc-linux-gnu-gcc -Dprefix=/usr
-Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-O2
-march=i686 -pipe -Duselargefiles -Dd_semctl_semun
-Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1
-Dinstallman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3pm
-Dinc_version_list=5.8.0 5.8.0/i686-linux-thread-multi 5.8.2
5.8.2/i686-linux-thread-multi 5.8.4 5.8.4/i686-linux-thread-multi
5.8.5 5.8.5/i686-linux-thread-multi 5.8.6
5.8.6/i686-linux-thread-multi 5.8.7 5.8.7/i686-linux-thread-multi
-Dcf_by=Gentoo -Ud_csh -Dusenm -Dusethreads -Ui_ndbm -Ui_gdbm -Di_db'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='i686-pc-linux-gnu-gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE
-DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -march=i686 -pipe',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/include/gdbm'
ccversion='', gccversion='4.1.2 (Gentoo 4.1.2 p1.1)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe', ldflags ='
-L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.9.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.9'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
Built under linux
Compiled at Dec 3 2009 10:42:40
%ENV:
PERL5LIB="/home/perl-user/perl5/lib/perl5:/home/perl-user/perl5/lib/perl5/i686-linux-thread-multi:/home/perl-user/perl5/lib/perl5:/home/perl-user/perl5/lib/perl5/i686-linux-thread-multi"
PERL_LOCAL_LIB="/home/perl-user/perl5/lib/perl5"
PERL_LOCAL_PATH="/home/perl-user/perl5"
PERL_MM_OPT="INSTALL_BASE=/home/perl-user/perl5"
@INC:
/home/perl-user/perl5/lib/perl5/i686-linux-thread-multi
/home/perl-user/perl5/lib/perl5
/home/perl-user/perl5/lib/perl5/i686-linux-thread-multi
/home/perl-user/perl5/lib/perl5/i686-linux-thread-multi
/home/perl-user/perl5/lib/perl5
/home/perl-user/perl5/lib/perl5/i686-linux-thread-multi
/etc/perl
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl
/usr/lib/perl5/5.8.8/i686-linux-thread-multi
/usr/lib/perl5/5.8.8
/usr/local/lib/site_perl
.
Log of a failed build using cpanm:
$ cpanm Net::STOMP::Client -v
You have make /usr/bin/make
You have LWP 5.833
You have /bin/tar: tar (GNU tar) 1.20
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Net::STOMP::Client on cpanmetadb ...
Fetching
http://search.cpan.org/CPAN/authors/id/L/LC/LCONS/Net-STOMP-Client-0.9.tar.gz
... OK
Unpacking Net-STOMP-Client-0.9.tar.gz
Net-STOMP-Client-0.9/
Net-STOMP-Client-0.9/lib/
Net-STOMP-Client-0.9/lib/Net/
Net-STOMP-Client-0.9/lib/Net/STOMP/
Net-STOMP-Client-0.9/lib/Net/STOMP/Client/
Net-STOMP-Client-0.9/lib/Net/STOMP/Client/Error.pm
Net-STOMP-Client-0.9/lib/Net/STOMP/Client/OO.pm
Net-STOMP-Client-0.9/lib/Net/STOMP/Client/IO.pm
Net-STOMP-Client-0.9/lib/Net/STOMP/Client/Frame.pm
Net-STOMP-Client-0.9/lib/Net/STOMP/Client/Debug.pm
Net-STOMP-Client-0.9/lib/Net/STOMP/Client.pm
Net-STOMP-Client-0.9/META.yml
Net-STOMP-Client-0.9/Changes
Net-STOMP-Client-0.9/t/
Net-STOMP-Client-0.9/t/00-load.t
Net-STOMP-Client-0.9/t/pod.t
Net-STOMP-Client-0.9/MANIFEST
Net-STOMP-Client-0.9/README
Net-STOMP-Client-0.9/Makefile.PL
Entering Net-STOMP-Client-0.9
Checking configure dependencies from META.yml
Configuring Net-STOMP-Client-0.9 ... Running Makefile.PL
Checking if your kit is complete...
Looks good
'INSTALL_BASE' is not a known MakeMaker parameter name.
Writing Makefile for Net::STOMP::Client
OK
Finding PREREQ from Makefile ...
Checking if you have List::Util 0 ... Yes (1.21)
Checking if you have Test::More 0 ... Yes (0.94)
Checking if you have IO::Socket::SSL 0 ... Yes (1.26)
Checking if you have IO::Select 0 ... Yes (1.17)
Checking if you have IO::Socket::INET 0 ... Yes (1.31)
Building and testing Net-STOMP-Client-0.9 for Net::STOMP::Client ... cp
lib/Net/STOMP/Client/Error.pm blib/lib/Net/STOMP/Client/Error.pm
cp lib/Net/STOMP/Client/Debug.pm blib/lib/Net/STOMP/Client/Debug.pm
cp lib/Net/STOMP/Client/IO.pm blib/lib/Net/STOMP/Client/IO.pm
cp lib/Net/STOMP/Client/OO.pm blib/lib/Net/STOMP/Client/OO.pm
cp lib/Net/STOMP/Client.pm blib/lib/Net/STOMP/Client.pm
cp lib/Net/STOMP/Client/Frame.pm blib/lib/Net/STOMP/Client/Frame.pm
Manifying blib/man3/Net::STOMP::Client::Error.3pm
Manifying blib/man3/Net::STOMP::Client::Debug.3pm
Manifying blib/man3/Net::STOMP::Client::OO.3pm
Manifying blib/man3/Net::STOMP::Client::IO.3pm
Manifying blib/man3/Net::STOMP::Client.3pm
Manifying blib/man3/Net::STOMP::Client::Frame.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl5.8.8 "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load.t .. 1/1 # Testing Net::STOMP::Client 1.57, Perl 5.008008,
/usr/bin/perl5.8.8
t/00-load.t .. ok
t/pod.t ...... ok
All tests successful.
Files=2, Tests=7, 0 wallclock secs ( 0.01 usr 0.05 sys + 0.12 cusr
0.03 csys = 0.21 CPU)
Result: PASS
Warning: You do not have permissions to install into
/usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi at
/usr/lib/perl5/5.8.8/ExtUtils/Install.pm line 114.
mkdir /usr/lib/perl5/site_perl/5.8.8/Net: Permission denied at
/usr/lib/perl5/5.8.8/ExtUtils/Install.pm line 176
make: *** [pure_site_install] Error 13
FAIL
! Installing Net::STOMP::Client failed. See
/home/perl-user/.cpanm/build.log for details.