-
Notifications
You must be signed in to change notification settings - Fork 2
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
Perl Tests that rely on $Config{perlpath} are failing when calling system() to execute sub-tasks #23
Comments
Looking back through releases, it appears this change was made in 0.27. I primarily did most of my initial development and testing w/ App::MechaCPAN up to 0.26 which didn't have the problem. :) |
I suspect that you're running into an issue with a new 0.29 feature that will attempt to pull a pre-built binary. Those binaries are built as relocatable, specifically with the The documentation for That said, perls built from source should not have this issue; the decision there is not to build a relocatable binary as the expectation is that it will not be moved from the installed directory. In 0.29, to get that behavior you will need to add the |
Hi. Thanks for responding. I'm having to specify My current Dockerfile is doing the following to get perl built and installed:
Not 100% sure I needed the Regarding the unit tests that are referencing Thanks |
The As for |
Switching over to Do you want to close this ticket or leave it open so you can track the |
Great to hear that it worked. 0.30 will document that option as well as the other changes add in 0.29. Note that the default behavior is changing in 0.30 to default to I plan to leave this ticket open for the short term for tracking the |
While trying to install perl modules inside of a version of perl (5.38.0) built by App::MechaCPAN (0.29) that is now setting the ./Configure -Dperlpath parameter as
/usr/bin/env perl
and the modules test files do something likesystem($Config{perlpath}, "param1", "param2", "-e", "script to test");
The code is failing with
file not found
.I was able to find a version that "works" manually by doing
system("/usr/bin/env", "perl", "-v");
as a test and that does work but I don't know how to put that in theperlpath
variable that would work as expected (it would need to spit out 2 list entries in the system call).For these perl modules I end up telling it to
--skip-tests
so I can get the code installed.Wouldn't it make more sense to put the full path to the perl interpreter that was being built in
perlpath
or are you trying to allow the built perl to be moved and still work? In my case it will never be moved as the path is baked into my code, etc.Module
Devel::Checklib
was the package I ended up digging into to try and figure out why this keeps happening. It's not anything I created or directly need, it's a sub-dependency of the Dancer2::Session::Cookie module that I was installing.Thankfully not that many modules appear to be doing these system calls but I've run into a handful.
The text was updated successfully, but these errors were encountered: