in reply to CPAN, recursive dependency problem

You could break the cycle by downloading individual tarballs, e.g:
cpan> get K/KW/KWILLIAMS/PathTools-3.03.tar.gz
hunt it down on disk (~/.cpan/sources/...), untar, build and install manually:
tar zxfv PathTools-3.03.tar.gz cd PathTools-3.03 perl Makefile.PL make install

Replies are listed 'Best First'.
Re^2: CPAN, recursive dependency problem
by ecsd (Initiate) on Jan 28, 2005 at 01:29 UTC

    Where (or how) does CPAN's install figure that there is a dependency? I would like to be able to break stuff to lie to it,
    and I'd as soon break the "idea" that there is a dependency loop.

    Also, if this comes up with any frequency, I'd suggest enforcing some scheme to prevent such loops in the first place.
    I haven't seen any reference to this issue in any other FAQs (CPAN, Perl) but it bites often enough.

    Thanks for the information.
    -ecsd

Re^2: CPAN, recursive dependency problem
by ecsd (Initiate) on Jan 28, 2005 at 01:33 UTC
    It's worth pointing out that CPAN will also not allow a "get"
    of a module in a dependency chain, so that has to be done manually also.
      It's worth pointing out that CPAN will also not allow a "get" of a module in a dependency chain ...

      Not true.

      Here's a quick way to verify dependencies (even circular ones): There's two modules on CPAN with the sole purpose of defining a circular dependency between each other: Acme::Prereq::A and Acme::Prereq::B.

      Acme::Prereq::A depends on Acme::Prereq::B and vice versa, see Acme::Prereq::A's Makefile.PL:

      'PREREQ_PM' => { 'Acme::Prereq::B' => 0, }, # e.g., Module::Name => 1.1

      Try it out, it works fine:

      perl -MCPAN -eshell cpan> get Acme::Prereq::B

      The CPAN shell's get command will fetch the requested module's tarball without checking dependencies.

      However, if you've run into a recursive dependency within a CPAN session, CPAN.pm will keep complaining, even if you switch to get. Restart the CPAN shell to get back to normal.