Subject: | Dependency problem: does not install on fresh 5.26.0 installation |
I have just installed 5.26.0 with the defaults for everything. ‘test Class::Load’ in the CPAN shell fails, apparently because a required dependency (Data::OptList) is listed as optional, so things get processed the wrong order.
What I think are relevant parts of the build log are as follows:
$ cpan5.26.0
Loading internal null logger. Install Log::Log4perl for logging messages
There seems to be running another CPAN process (pid 16650). Contacting...
Other job is running.
Shall I try to run in downgraded mode? (Y/n) [y]
Running in downgraded mode (experimental).
Please report if something unexpected happens
cpan shell -- CPAN exploration and modules installation (v2.18)
Enter 'h' for help.
Show quoted text
nolock_cpan> test Class::Load
...
'YAML' not installed, will not store persistent state
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20170530)
Configuring E/ET/ETHER/Class-Load-0.24.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Data::OptList 0 not found.
Warning: prerequisite Module::Implementation 0.04 not found.
Warning: prerequisite Module::Runtime 0.012 not found.
Warning: prerequisite Package::Stash 0.14 not found.
Warning: prerequisite Test::Fatal 0 not found.
Warning: prerequisite Test::Needs 0 not found.
Warning: prerequisite Try::Tiny 0 not found.
Generating a Unix-style Makefile
Writing Makefile for Class::Load
Writing MYMETA.yml and MYMETA.json
ETHER/Class-Load-0.24.tar.gz
/usr/local/bin/perl5.26.0 Makefile.PL -- OK
Running make for E/ET/ETHER/Class-Load-0.24.tar.gz
Show quoted text---- Unsatisfied dependencies detected during ----
---- ETHER/Class-Load-0.24.tar.gz ----
Data::OptList [requires,optional]
Module::Implementation [requires]
Module::Runtime [requires]
Package::Stash [requires]
Test::Fatal [build_requires]
Test::Needs [build_requires]
Try::Tiny [requires]
Running test for module 'Module::Implementation'
...
Notice how the list of dependencies says [requires,optional] for Data::OptList.
The modules are then processed in this order:
• Module::Implementation, which depends on:
• Module::Runtime, which depends on:
• Module::Build
• Test::Fatal, which depends on:
• Try::Tiny
• Test::Requires
• Package::Stash, which depends on:
• Dist::CheckConflicts
• Package::Stash::XS
• Test::Needs
and then when it comes to build Class::Load, it again lists the optional prerequisite:
Running make for E/ET/ETHER/Class-Load-0.24.tar.gz
---- Unsatisfied dependencies detected during ----
---- ETHER/Class-Load-0.24.tar.gz ----
Data::OptList [requires,optional]
cp lib/Class/Load/PP.pm blib/lib/Class/Load/PP.pm
cp lib/Class/Load.pm blib/lib/Class/Load.pm
Manifying 1 pod document
ETHER/Class-Load-0.24.tar.gz
/usr/bin/make -- OK
Running make test
which fails:
t/000-load.t .................... 1/?
# Failed test 'use Test::Class::Load;'
# at t/000-load.t line 9.
# Tried to use 'Test::Class::Load'.
# Error: Can't locate Data/OptList.pm in @INC (you may need to install the Data::OptList module) (@INC contains: blah blah blah)
...
Files=16, Tests=2, 3 wallclock secs ( 0.07 usr 0.03 sys + 1.31 cusr 0.32 csys = 1.73 CPU)
Result: FAIL
Failed 13/16 test programs. 1/2 subtests failed.
make: *** [test_dynamic] Error 2
ETHER/Class-Load-0.24.tar.gz
/usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports ETHER/Class-Load-0.24.tar.gz
Running test for module 'Data::OptList'
Checksum for /Users/sprout/.cpan/sources/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz ok
x Data-OptList-0.110
x Data-OptList-0.110/README
x Data-OptList-0.110/Changes
x Data-OptList-0.110/LICENSE
x Data-OptList-0.110/dist.ini
x Data-OptList-0.110/t
x Data-OptList-0.110/t/hash.t
x Data-OptList-0.110/META.yml
x Data-OptList-0.110/MANIFEST
Oh look, now it’s processing Data::OptList.
How is that ‘,optional’ getting there?
Attached is the full build log.
$ perl5.26.0 -V
Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
Platform:
osname=darwin
osvers=12.5.0
archname=darwin-2level
uname='darwin pint.local 12.5.0 darwin kernel version 12.5.0: sun sep 29 13:33:47 pdt 2013; root:xnu-2050.48.12~1release_x86_64 x86_64 '
config_args='-Dversiononly -de'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.8 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV'
optimize='-O3'
cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.8 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include'
ccversion=''
gccversion='4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.27)'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags =' -mmacosx-version-min=10.8 -fstack-protector -L/usr/local/lib -L/opt/local/lib'
libpth=/usr/local/lib /usr/bin/../lib/clang/4.2/lib /usr/lib /opt/local/lib
libs=-lpthread -ldbm -ldl -lm -lutil -lc
perllibs=-lpthread -ldl -lm -lutil -lc
libc=
so=dylib
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=bundle
d_dlsymun=undef
ccdlflags=' '
cccdlflags=' '
lddlflags=' -mmacosx-version-min=10.8 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
PERL_USE_SAFE_PUTENV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
Built under darwin
Compiled at Oct 29 2017 13:20:00
@INC:
/usr/local/lib/perl5/site_perl/5.26.0/darwin-2level
/usr/local/lib/perl5/site_perl/5.26.0
/usr/local/lib/perl5/5.26.0/darwin-2level
/usr/local/lib/perl5/5.26.0
/usr/local/lib/perl5/site_perl
Subject: | tmp.text |
Message body is not shown because it is too large.