New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPAN build fails when recursive dependencies are not installed #442

Open
dnbert opened this Issue May 16, 2013 · 2 comments

Comments

Projects
None yet
2 participants
@dnbert
Contributor

dnbert commented May 16, 2013

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.

@dnbert

This comment has been minimized.

Contributor

dnbert commented May 16, 2013

Inside of the target directory, using the cpanm --installdeps flag may be another option as well.

@hatt

This comment has been minimized.

Contributor

hatt commented Aug 2, 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment