Re: [Module::Build] missing CBuilder
Status: Beta
Brought to you by:
kwilliams
From: Randy W. S. <ml...@th...> - 2006-05-23 00:06:26
|
Marvin Humphrey wrote: > Greets, > > It looks like in some cases my XS distro KinoSearch may not be able to > installed via CPAN without extra intervention since the release of > Module::Build 0.28. The problem seems to arise when Module::Build has > not been installed, and the passthrough Makefile.PL gets called. After > you reply yes at the prompt asking if you want to install Module::Build, > it installs without ExtUtils::CBuilder, even on systems where > ExtUtils::CBuilder can be installed later via the CPAN shell without a > problem. > > Is the answer to add ExtUtils::CBuilder to the build_requires hash? Hmm, Module::Build itself doesn't require EU::CBuilder, so it is only a recommended prereq. BUT, modules that use M::B may have an indirect & implicit dependency on EU::CBuilder. I.E. They depend on an optional feature of M::B. This dependency is never explicitly mentioned anywhere so installs can fail. Currently the only solution is to make the dependency explicit in your module's build files by listing EU::CBuilder in 'build_requires' as you already observed. I wonder if there should be a better way to express this dependency. Maybe it could be declared like this: use Module::Build features => qw( C_support ); Instead of having indirect prereqs listed in build files where it really has nothing directly to do with the distro. Module::Build could then do whatever magic is needed under the hood to add the appropriate prereqs. Randy. |