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

Strawberry Perl 5.24 Makefile.PL Builds Fail #1

Open
theory opened this Issue Jan 15, 2019 · 0 comments

Comments

Projects
None yet
1 participant
@theory
Copy link
Owner

theory commented Jan 15, 2019

In 5.26, Strawberry Perl switched from dmake to gmake, and all works well. On 5.24, however, installation of Makefile.PL-based projects does not work. In theory, one can simply use dmake instead of gmake:

     - <<: *strawberry
      env: PERL_VERSION=5.24.4.1
      script:
        - perl Makefile.PL
        - dmake
        - dmake test

However, it won't even get this far if dependencies are Makefile.PL-based, as the CPAN::Test::Dummy::Perl5::Make module required this this project is, because the dependency installer (here modified to run with -v):

      install:
        - cpanm -v --notest --installdeps .

Fails, too, with this error:

-MExtUtils::Command: C:Strawberryperlbinperl.exe: command not found
dmake.exe:  Error code 255, while making 'blib\lib\CPAN\Test\Dummy\Perl5\.exists'

@bingos says, "usually that means there is some other perl in the environment interferring. A UNIXy type perl, say a cygwin type perl." And indeed, the Travis CI Windows environment's Chocolatey (or Git-Bash?) environment provides /bin/perl, which is in the path. So maybe it needs to be removed from the path?

theory added a commit that referenced this issue Jan 15, 2019

Use a YAML alias to reduce redundancy.
Instead of repeating the entire "Strawberry" stage multiple times, once fore
each Perl, make a YAML alias to the first instance, and then simply include
the alias and add the PER_VERSION environment variable for subsequent
instances of the stage. A little opaque to those unfamiliar with the YAML
anchor/alias feature (as I was), but definitely cuts down on clutter.

To better demonstrate multiple uses, add a third Strawberry stage that tests a
third version of Perl. Use a variant of 5.26 again, because 5.24 has issues
(see #1 for details).

While at it, switch from URI::db to CPAN::Test::Dummy::Perl5::Make as the
sample dependency, because it is a no-op with no dependencies of its own, so
it keeps things simpler.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment