On 07/08/2023 06:13, Bodo Hugo Barwich wrote:
Dear CPAN-Testers,

Test Scenario "*Process-SubProcess-2.1.3 5.18.2 GNU/Linux*" fails when trying to load "/Getopt::Long::Descriptive/" as seen on:
https://www.cpantesters.org/cpan/report/a62cd144-3498-11ee-98b0-b3c3213a625c 
<https://www.cpantesters.org/cpan/report/a62cd144-3498-11ee-98b0-b3c3213a625c>
"
Can't load '/home/cpan/pit/jail/cm2baDMkN6/lib/perl5/x86_64-linux-thread-multi-ld/auto/Params/Util/Util.so' for module Params::Util: /home/cpan/pit/jail/cm2baDMkN6/lib/perl5/x86_64-linux-thread-multi-ld/auto/Params/Util/Util.so: undefined symbol: Perl_xs_version_bootcheck at /home/cpan/pit/jail/cm2baDMkN6/lib/perl5/x86_64-linux-thread-multi-ld/XSLoader.pm line 96.

FWIW I see dependency problems with it on 5.18.4 on my tester as well, but in my case it's because Module::CPANfile (a dependency of ExtUtils::MakeMaker::CPANfile) fails its tests. So I recommend not using that :-)

When I get rid of that by putting your deps in the Makefile.PL, I see the same errors in the tests. They're because while dependencies have been installed in the tester's build of perl 5.18, you're running some of your tests against whatever random version of perl is at /usr/bin/perl, which is not compatible. XS modules need to be built for a particular version of perl.

Specifically, the problem is that t/test_runner.t shells out to bin/run_subprocess.pl, which is executable and has /usr/bin/perl on the shebang line. Instead you should `use Config` and shell out to `$Config{perlpath} ../bin/run_subprocess.pl` to make sure that your tests use the right build of perl.

NB that this isn't just a "testers are weird" problem. This will affect any user who doesn't use the system-provided build of perl, such as anyone I've worked for in the last decade and a half.

Hope that helps!

--
David Cantrell

Reply via email to