Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 62064
Status: resolved
Priority: 0/
Queue: CPAN

Owner: Nobody in particular
Requestors: xavierb [...]

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)

CC: 'Andreas J. König' <andreas.koenig.7os6vvqr [...]>
Subject: Broken build_requires_install_policy
Date: Tue, 12 Oct 2010 16:23:35 +1000
To: "'CPAN RT'" <bug-CPAN [...]>
From: "Xavier Bergade" <xavierb [...]>
Download (untitled) / with headers
text/plain 1.9k
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?
Download (untitled) / with headers
text/plain 377b
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: <bug-CPAN [...]>
From: "Xavier Bergade" <xavierb [...]>
Download (untitled) / with headers
text/plain 177b
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.
Download (untitled) / with headers
text/plain 192b
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 is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to