This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics

Nobody in particular
xavierb [...]

(no value)
Broken in:
(no value)
Fixed in:
(no value)

CC: 'Andreas J. König' <>
Subject: Broken build_requires_install_policy
Date: Tue, 12 Oct 2010 16:23:35 +1000
To: "'CPAN RT'" <>
From: "Xavier Bergade" <>
Note: This is a follow up to my previous email, with a better/simpler example of the problem. Summary: Given 2 modules M and N, build_requires_install_policy doesn’t correctly promote modules required by N if N is on M's build_requires list. Distribution name and version: perl v5.12.X, happens with both CPAN v1.9456 *AND* v1.9461 Operating system: CentOS v5.5 but should be irrelevant Related RT reports: Steps to reproduce: 1/ Install a fresh perl in /opt/perl-5.12.2 export PERL_VERSION=5.12.2 wget$PERL_VERSION.tar.bz2 tar xfj perl-$PERL_VERSION.tar.bz2 && cd perl-$PERL_VERSION sh Configure -des -Dusethreads -Duselargefiles -Dprefix=/opt/perl-$PERL_VERSION make install && cd $PERL_VERSION && bin/perl -v 2/ Install Mouse + Test::Exception, then try running Test::Exception (echo 'o conf build_requires_install_policy no' && echo 'install Mouse Test::Exception') | bin/cpan &>> /tmp/cpan-Mouse.log tail /tmp/cpan-Mouse.log # note that Sub::Uplevel was not installed because it " only build_requires" even though Test::Exception has it in its requires list. bin/perl -e 'use Test::Exception' # fails because Sub::Uplevel wasn't installed That was with v5.12.2's default CPAN v1.9456, so because of your comments in RT 57482 & 57788 I also tried v1.9461 but the problem is still present. Also, I see the following in your Changes file: "bugfix: RT #57482 and #57788 revealed that configure_requires implicitly assumed build_requires instead of normal requires." That looks correct to me... shouldn't "configure_requires" be on the same as "test_requires" and "build_requires"? That is, for any given module, if "build_requires_install_policy" is set to "no" I would assume that none of the modules in any of the *_requires lists would be installed, don't you agree?
Thanks for your excellent reports. I just wanted to let you know that I've started working on it. No estimates possible yet about when it'll be done. My impression is that a valid workaround for the encountered bugs is to set build_requires_install_policy to true. The price for that is that you get some modules installed that you strictly do not need installed permanently.
Subject: RE: [ #62064] Broken build_requires_install_policy
Date: Mon, 18 Oct 2010 10:25:28 +1000
To: <>
From: "Xavier Bergade" <>
That's correct, setting build_requires_install_policy to true is a workaround, so basically until this is fixed the build_requires_install_policy option should not be trusted.
1.94_62 is released that seems to fix this bug. Please reopen if you can find another example of a broken build_requires_install_policy. Thanks again very much for the very helpful bugreport.

This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with to