Join GitHub today
CPAN build fails when recursive dependencies are not installed #442
I'm not sure if this is a cpanm issue, or something that should be handled within FPM itself.
During a test build of Fennec perl module, several recursive dependencies were not downloaded in the temporary build environment and they were using system libraries instead. Unfortunately some of the system libraries that I had were out of date, causing the FPM build to fail.
An example would be fpm -t cpan -s deb Fennec. CPAN::Meta dependency fails since the CPAN::Meta::Requirements library doesn't exist.
referenced this issue
Jul 26, 2013
Cabin (FPM's logger) reads anything from STDERR as error output, although this won't stop the build. Module::Build outputs notices for missing recommends modules via Perl's warn, which is STDERR, so it shows up as an erroneous error. I'm not sure if this really counts as a bug but it's probably done that way to avoid cluttering STDOUT.
It's possible there is a bug in cpanm but from what I can see in the code there it shouldn't be falling back to system libs if -L is passed, which fpm does. The actual calls to the build script may not be using the correct path precedence which would fall back to a bug in FPM instead. The commit below fixes this both at build time and test time, so the path should always be correct now. I wonder if the deps were actually installed but precedence directed you to the system libs while cpanm installed the newer ones and they just weren't included in the path.