perlcygwin

Installing par-packer under Cygwin: Perl version mismatch woes


I am trying to get par-packer running under Cygwin and having problems with Perl version mismatch. After installing and trying to run, I get this error:

bin > pp -o ehive_decode.exe myscript.pl

Perl (/usr/bin/perl) version (5.40.2) doesn't match the version (5.40.0) that PAR::Packer was built with; please rebuild PAR::Packer at /usr/share/perl5/vendor_perl/5.40/PAR/StrippedPARL/Static.pm line 61

Compilation failed in require at /usr/share/perl5/vendor_perl/5.40/PAR/Packer.pm line 1270.

Issue #1: it is not at all obvious to me how to rebuild PAR::Packer. I tried re-installing it with the Cygwin installer but I keep getting the same message.

So as an alternative I decided to try downgrading my Perl install from 5.40.2 to 5.40.0. I went through the appropriate steps in the Cygwin installer, and it said it was uninstalling 5.40.2 and installing 5.40.0. When finished, I check the Perl version:

bin > perl -v This is perl 5, version 40, subversion 2 (v5.40.2) built for x86_64-cygwin-threads-multi (with 3 registered patches, see perl -V for more detail)

Copyright 1987-2025, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at https://www.perl.org/, the Perl Home Page.

The Cygwin installer seems quite convinced I have 5.40.0 installed. I have tried reinstalling 5.40.0 but no matter what I do nothing changes. I can't (or won't) completely uninstall Perl because that'll take all my installed packages with it, and I don't want to start over with everything.

Issue #2: How can I really truly downgrade from 5.40.2 to 5.40.0?


Solution

  • A minor point update for par-packer appeared today, and when I installed via the cygwin installer and now it works. Still no understanding of what was happening before but it's working so I'm moving on.