On Thu Jan 15 13:15:55 2015, ETHER wrote:
Show quoted text>
> Hi,
> Please could you include the full output of "perl -V" -- it sounds
> like there's something unusual with some of your configured install
> directories.
This is staticperl version, see App::Staticperl module on CPAN.
$ perl -V
Summary of my perl5 (revision 5 version 20 subversion 1) configuration:
Platform:
osname=linux, osvers=3.14-kali1-686-pae, archname=i686-linux-64int
uname='linux kali 3.14-kali1-686-pae #1 smp debian 3.14.5-1kali1 (2014-06-07) i686 gnulinux '
config_args='-Duselargefiles -Uuse64bitint -Dusemymalloc=n -Uusedl -Uusethreads -Uuseithreads -Uusemultiplicity -Uusesfio -Uuseshrplib -Uinstallusrbinperl -A ccflags= -g -DPERL_DISABLE_PMC -DPERL_ARENA_SIZE=16376 -DNO_PERL_MALLOC_ENV -D_GNU_SOURCE -DNDEBUG -Dcc=cc -Doptimize=-Os -Dldflags=-Wl,--gc-sections -Wl,--allow-multiple-definition -Dlibs=-lm -lcrypt -Dprefix=/home/tvv/.staticperl-5.20.1/perl -Dbin=/home/tvv/.staticperl-5.20.1/perl/bin -Dprivlib=/home/tvv/.staticperl-5.20.1/perl/lib -Darchlib=/home/tvv/.staticperl-5.20.1/perl/lib -Uusevendorprefix -Dsitelib=/home/tvv/.staticperl-5.20.1/perl/lib -Dsitearch=/home/tvv/.staticperl-5.20.1/perl/lib -Uman1dir -Uman3dir -Usiteman1dir -Usiteman3dir -Dpager=/usr/bin/less -Demail=vitaliy.tokarev@gmail.com -Dcf_email=vitaliy.tokarev@gmail.com -Dcf_by=vitaliy.tokarev@gmail.com -Duse64bitint -Duselargefiles -Duseperlio -dE'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-g -DPERL_DISABLE_PMC -DPERL_ARENA_SIZE=16376 -DNO_PERL_MALLOC_ENV -D_GNU_SOURCE -DNDEBUG -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-Os',
cppflags='-g -DPERL_DISABLE_PMC -DPERL_ARENA_SIZE=16376 -DNO_PERL_MALLOC_ENV -D_GNU_SOURCE -DNDEBUG -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.7.2', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='ld', ldflags ='-Wl,--gc-sections -Wl,--allow-multiple-definition -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/i486-linux-gnu/4.7/include-fixed /usr/include/i386-linux-gnu /usr/lib /lib/i386-linux-gnu /lib/../lib /usr/lib/i386-linux-gnu /usr/lib/../lib /lib
libs=-lm -lcrypt
perllibs=-lm -lcrypt
libc=libc-2.13.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.13'
Dynamic Linking:
dlsrc=dl_none.xs, dlext=none, d_dlsymun=undef, ccdlflags=''
cccdlflags='', lddlflags=''
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DISABLE_PMC
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE
USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
Built under linux
Compiled at Jan 14 2015 21:58:01
@INC:
/home/tvv/.staticperl-5.20.1/perl/lib
.
$ cat ~/.staticperl-5.20.1/lib/CPAN/MyConfig.pm
$CPAN::Config = {
'applypatch' => q[],
'auto_commit' => q[0],
'build_cache' => q[100],
'build_dir' => q[/home/tvv/.staticperl-5.20.1/cpan/build],
'build_dir_reuse' => q[0],
'build_requires_install_policy' => q[yes],
'bzip2' => q[/bin/bzip2],
'cache_metadata' => q[1],
'check_sigs' => q[0],
'colorize_debug' => q[CYAN ON_BLACK],
'colorize_output' => q[1],
'colorize_print' => q[WHITE ON_BLACK],
'colorize_warn' => q[RED ON_BLACK],
'commandnumber_in_prompt' => q[1],
'connect_to_internet_ok' => q[1],
'cpan_home' => q[/home/tvv/.staticperl-5.20.1/cpan],
'ftp_passive' => q[1],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[/usr/bin/gpg],
'gzip' => q[/bin/gzip],
'halt_on_failure' => q[0],
'histfile' => q[/home/tvv/.staticperl-5.20.1/cpan/histfile],
'histsize' => q[100],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[/home/tvv/.staticperl-5.20.1/cpan/sources],
'load_module_verbosity' => q[none],
'make' => q[/usr/bin/make],
'make_arg' => q[],
'make_install_arg' => q[],
'make_install_make_command' => q[/home/tvv/.staticperl-5.20.1/perl/bin/SP-make-install-make],
'makepl_arg' => q[],
'mbuild_arg' => q[--installdirs=site --install_base=/home/tvv/.staticperl-5.20.1/perl/lib],
'mbuild_install_arg' => q[--installdirs=site --install_base=/home/tvv/.staticperl-5.20.1/perl/lib],
'mbuild_install_build_command' => q[./Build],
'mbuildpl_arg' => q[],
'no_proxy' => q[],
'pager' => q[less],
'patch' => q[/usr/bin/patch],
'perl5lib_verbosity' => q[none],
'prefer_external_tar' => q[1],
'prefer_installer' => q[EUMM],
'prefs_dir' => q[/home/tvv/.staticperl-5.20.1/cpan/prefs],
'prerequisites_policy' => q[follow],
'recommends_policy' => q[1],
'scan_cache' => q[atstart],
'shell' => q[/bin/zsh],
'show_unparsable_versions' => q[0],
'show_upload_date' => q[0],
'show_zero_versions' => q[0],
'suggests_policy' => q[0],
'tar' => q[/bin/tar],
'tar_verbosity' => q[none],
'term_is_latin' => q[1],
'term_ornaments' => q[1],
'test_report' => q[0],
'trust_test_report_history' => q[0],
'unzip' => q[/usr/bin/unzip],
'urllist' => [q[
http://mirror.netcologne.de/cpan]],
'use_prompt_default' => q[0],
'use_sqlite' => q[0],
'version_timeout' => q[15],
'wget' => q[/usr/bin/wget],
'yaml_load_code' => q[0],
'yaml_module' => q[YAML::XS],
};
1;
__END__
I tried to install Module::Runtime and some other modules (I can't remember now), then I tired and fixed the issue like I described below.
FYI, the same staticperl build but for Perl 5.16.3 does not have such issue, so I've managed to find out that Module::CoreList is the cause of the problem. What is happens exactly? Still, in the file CPAN/Distribution.pm, function sub unsat_prereq {}
$need_module = "Module::Build"; # idk why it is here exactly, but it's here
$nmo = $CPAN::META->instance("CPAN::Module",$need_module);
next if $nmo->uptodate; # <-- returns 0 (cpan version = 0.4210, file version = 0.4210)
# I've assumed that this correct logic. No changes.
$inst_file = $nmo->inst_file || ''; # <-- Correct path to file $HOME/.staticperl-5.20.1/lib/Module/Build.pm
$available_file = $nmo->available_file || ''; # <-- Correct path to file $HOME/.staticperl-5.20.1/lib/Module/Build.pm
So, everything looks good and I read your comments, so I find out where changes should be applied. File CPAN/Distribution.pm and changed sub unsat_prereq {}
# continue installing as a prereq. we really want that
# because the deprecated module may spit out warnings
# and third party did not know until today. Only one
# exception is OK, because CPANPLUS is special after
# all:
if ( $fulfills_all_version_rqs ) {
#
# If I did not stop adding Module::Build to @need array later to install module then
# no one stops.
#
my $id = $nmo->id;
if
(
$id =~ /^CPANPLUS(?:::Dist::Build)$/ ||
$id =~ /^Module::Build$/
) {
# here we have an available version that is good
# enough although deprecated (preventing circular
# loop CPANPLUS => CPANPLUS::Dist::Build RT#83042)
next NEED;
}
}