Hi Ville,

* Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> [2009-02-17 15:10]:
> On Tue, Feb 17, 2009 at 09:15:21AM +0200, Ville Skytt? wrote:
> > All the failure reports from you fail in the test suite with
> > "Can't locate LWP/RobotUA.pm in @INC [...]".  I'm wondering
> > why this happens, because W3C-LinkChecker has a dependency on
> > LWP and your reports indicate that it is installed, but both
> > LWP and LWP::RobotUA are part of the libwww-perl package so
> > either none of them or both should be installed, not LWP
> > alone.

as an aside to this discussion, please note that your list of
dependencies in Makefile.PL should mention every single module
you `use`, even if several of them are part of the same
distribution.

The CPAN clients have no problem detecting that
several dependencies are provided by the same distribution and
installing that only once.

The reason you should do this is that the mapping of modules and
distros is not 1:1: multi-module distros can be combined or split
in the future.

Consider what happens with incompletely declared dependencies.

If distributions are combined, everything continues to work fine,
since the CPAN clients are built to handle that situation.

But if a distribution is split, and the modules you need are now
in different distributsion, things go wrong: the dependency
resolution will only install one of the distros you depend on.
The ones that now contain the other modules which you also need
will be missing, resulting in an unfulfilled (because undeclared)
dependency.

So for the continued sanity of CPAN, please always list every
single module you load that’s not part of the tarball, and do not
list any modules you do not explicitly load.

For W3C::LinkChecker this means listing LWP::RobotUA explicitly,
but it also means listing LWP::UserAgent instead of LWP (since
you load the former and not the latter). Other modules you `use`
but have not declared as dependencies in your Makefile.PL
include:

• HTML::Entities
• HTTP::Request
• HTTP::Response
• URI::Escape
• URI::file

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

Reply via email to