Subject: | requires() fails if the requirement has dependencies. |
The attached Makefile.PL and output illustrates the problem. When using
MI, if your dependencies have unresolved dependencies the build for the
dependency is considered a failure. This does not occur when simply
installing the dependency under the CPAN shell.
In my environment I do not have File::Find::Rule nor Number::Compare
installed to trigger the bug. I've tried it also on Test::Dependencies
(lacking it and File::Find::Rule) and JSAN::Client (lacking it and
HTML::Location).
I noticed this bug because I am unable to install anything which depends
on Test::Dependencies without first manually installing TD. This
includes Class::Accessor::Named.
Subject: | mi_require_failure.txt |
0 windhund ~/tmp/Foo-Bar$ perl Makefile.PL
include /Users/schwern/tmp/Foo-Bar/inc/Module/Install.pm
include inc/Module/Install/Metadata.pm
include inc/Module/Install/Base.pm
include inc/Module/Install/AutoInstall.pm
include inc/Module/Install/Include.pm
include inc/Module/AutoInstall.pm
*** Module::AutoInstall version 1.02
*** Checking for Perl dependencies...
[Core Features]
- File::Find::Rule ...missing.
==> Auto-install the 1 mandatory module(s) from CPAN? [y]
CPAN: File::HomeDir loaded ok
*** Dependencies will be installed the next time you type 'make'.
(You may need to do that as the 'root' user.)
*** Module::AutoInstall configuration finished.
include inc/Module/Install/Makefile.pm
include inc/Module/Install/WriteAll.pm
Writing META.yml
include inc/Module/Install/Win32.pm
include inc/Module/Install/Can.pm
include inc/Module/Install/Fetch.pm
Warning: prerequisite File::Find::Rule 0 not found.
Writing Makefile for Foo::Bar
0 windhund ~/tmp/Foo-Bar$ sudo make
/usr/bin/perl "-Iinc" Makefile.PL --config= --installdeps=File::Find::Rule,0
include /Users/schwern/tmp/Foo-Bar/inc/Module/Install.pm
include inc/Module/Install/Metadata.pm
include inc/Module/Install/Base.pm
include inc/Module/Install/AutoInstall.pm
include inc/Module/Install/Include.pm
include inc/Module/AutoInstall.pm
*** Installing dependencies...
CPAN: File::HomeDir loaded ok
*** Installing File::Find::Rule...
CPAN: Storable loaded ok
Going to read /var/local/cpan_shell/Metadata
Database was generated on Tue, 22 Aug 2006 02:32:34 GMT
Running install for module File::Find::Rule
Running make for R/RC/RCLAMP/File-Find-Rule-0.30.tar.gz
CPAN: Digest::SHA loaded ok
CPAN: Module::Signature loaded ok
WARNING: This key is not certified with a trusted signature!
Primary key fingerprint: 2E66 557A B97C 19C7 91AF 8E20 328D A867 450F 89EC
Signature for /var/local/cpan_shell/sources/authors/id/R/RC/RCLAMP/CHECKSUMS ok
CPAN: Compress::Zlib loaded ok
Checksum for /var/local/cpan_shell/sources/authors/id/R/RC/RCLAMP/File-Find-Rule-0.30.tar.gz ok
Scanning cache /var/local/cpan_shell/build for sizes
File-Find-Rule-0.30/
File-Find-Rule-0.30/t/
File-Find-Rule-0.30/t/lib/
File-Find-Rule-0.30/t/lib/File/
File-Find-Rule-0.30/t/lib/File/Find/
File-Find-Rule-0.30/t/lib/File/Find/Rule/
File-Find-Rule-0.30/t/lib/File/Find/Rule/Test/
File-Find-Rule-0.30/t/lib/File/Find/Rule/Test/ATeam.pm
File-Find-Rule-0.30/t/foobar
File-Find-Rule-0.30/t/File-Find-Rule.t
File-Find-Rule-0.30/t/findrule.t
File-Find-Rule-0.30/findrule
File-Find-Rule-0.30/META.yml
File-Find-Rule-0.30/lib/
File-Find-Rule-0.30/lib/File/
File-Find-Rule-0.30/lib/File/Find/
File-Find-Rule-0.30/lib/File/Find/Rule.pm
File-Find-Rule-0.30/lib/File/Find/Rule/
File-Find-Rule-0.30/lib/File/Find/Rule/Extending.pod
File-Find-Rule-0.30/lib/File/Find/Rule/Procedural.pod
File-Find-Rule-0.30/Changes
File-Find-Rule-0.30/MANIFEST
File-Find-Rule-0.30/README
File-Find-Rule-0.30/Makefile.PL
File-Find-Rule-0.30/Build.PL
Removing previously used /var/local/cpan_shell/build/File-Find-Rule-0.30
Package came without SIGNATURE
CPAN: Module::Build loaded ok
CPAN.pm: Going to build R/RC/RCLAMP/File-Find-Rule-0.30.tar.gz
Checking whether your kit is complete...
Looks good
Checking prerequisites...
- ERROR: Number::Compare is not installed
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
of the modules indicated above before proceeding with this installation
Creating new 'Build' script for 'File-Find-Rule' version '0.30'
CPAN: YAML loaded ok
---- Unsatisfied dependencies detected during [R/RC/RCLAMP/File-Find-Rule-0.30.tar.gz] -----
Number::Compare
Running Build test
Delayed until after prerequisites
Running Build install
Delayed until after prerequisites
*** File::Find::Rule installation failed.
*** Module::AutoInstall installation finished.
0 windhund ~/tmp/Foo-Bar$
Subject: | Makefile.PL |
use inc::Module::Install;
name 'Foo-Bar';
version 123;
requires 'File::Find::Rule';
license 'perl';
auto_install();
&WriteAll;