Bug 1470542 - PAR::Packer requires the same perl version it was built against
PAR::Packer requires the same perl version it was built against
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: perl-PAR-Packer (Show other bugs)
25
Unspecified Unspecified
unspecified Severity high
: ---
: ---
Assigned To: Petr Pisar
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-07-13 03:18 EDT by Johan Vromans
Modified: 2017-08-28 18:21 EDT (History)
4 users (show)

See Also:
Fixed In Version: perl-PAR-Packer-1.037-5.fc27 perl-PAR-Packer-1.036-4.fc26 perl-PAR-Packer-1.030-3.fc24 perl-PAR-Packer-1.035-3.fc25 perl-PAR-Packer-1.036-5.fc26 perl-PAR-Packer-1.035-4.fc25
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-08-28 12:19:09 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Johan Vromans 2017-07-13 03:18:21 EDT
Description of problem:

PAR::Packer is built for Perl 5.24.0 and was not rebuilt for 5.24.1.

Version-Release number of selected component (if applicable):

perl-PAR-Packer-1.035-1.fc25

How reproducible:

Always.

Steps to Reproduce:

1. pp -e 'print "Hello"'

Actual results:

/tmp/parlJ7MK: Perl lib version (5.24.1) doesn't match executable 'perl' version (5.24.0) at /usr/lib64/perl5/Config.pm line 62.
Compilation failed in require at /usr/lib64/perl5/Errno.pm line 10.
BEGIN failed--compilation aborted at /usr/lib64/perl5/Errno.pm line 10.
Compilation failed in require at /usr/share/perl5/vendor_perl/File/Temp.pm line 17.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/File/Temp.pm line 17.
Compilation failed in require at /home/jv/lib/perl5/Archive/Zip.pm line 26.
BEGIN failed--compilation aborted at /home/jv/lib/perl5/Archive/Zip.pm line 26.
Compilation failed in require at -e line 240.
/bin/pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' to file '/tmp/parl50_HDGo' at /usr/share/perl5/vendor_perl/PAR/Packer.pm line 1184, <DATA> line 1.

Expected results:

An executable a.out.

Additional info:

PAR::Packer depends on the perl ABI and must always be rebuilt with perl upgrades.
Comment 1 Petr Pisar 2017-07-13 04:13:30 EDT
(In reply to Johan Vromans from comment #0)
> /tmp/parlJ7MK: Perl lib version (5.24.1) doesn't match executable 'perl'
> version (5.24.0) at /usr/lib64/perl5/Config.pm line 62.

This exception comes from /usr/lib64/perl5/Config.pm that on my system comes from Perl 5.24.1:

$ rpm -qf /usr/lib64/perl5/Config.pm 
perl-5.24.1-386.fc25.x86_64

and the code is:

$^V eq 5.24.1
    or die sprintf "%s: Perl lib version (5.24.1) doesn't match executable '$^X' version (%vd)", $0, $^V;

So it looks like the 'perl' command is and outdated perl.

Does PAR::Packer bundle libperl.so.5.24 library?

> PAR::Packer depends on the perl ABI and must always be rebuilt with perl
> upgrades.

If this is true I think we will need to add an explicit Requires on Perl interpreter version that was used to build perl-PAR-Package to catch the right after upgrading Perl.
Comment 2 Petr Pisar 2017-07-13 04:26:30 EDT
The latest stable perl-PAR-Packer package is 1.035-2.fc25. And that has already been rebuilt against Perl 5.24.1. I recommend you to upgrade.

I will still investigate the cause and try to correct the dependencies.
Comment 3 Johan Vromans 2017-07-13 04:31:23 EDT
> Does PAR::Packer bundle libperl.so.5.24 library?

I think the best answer to this question is "yes".

> > PAR::Packer depends on the perl ABI and must always be rebuilt with perl
> > upgrades.
> 
> If this is true I think we will need to add an explicit Requires on Perl
> interpreter version that was used to build perl-PAR-Package to catch the
> right after upgrading Perl.

That would be helpful, indeed.
Comment 4 Petr Pisar 2017-07-13 05:21:52 EDT
Now I can see it. When building perl-PAR-Packer, myldr/Makefile.PL links parl from boot.o that is compiled from boot_embedded_files.c that is generated by embed_files.pl tool whose input is "/lib64/libperl.so.5.24.1", the libperl.so shared library. So it effectively bundles libperl.so into /usr/bin/parl.

Then when building a standalone executable with pp tool, /usr/bin/parl is executed and its embedded libperl.so loads various Perl modules from system, including the Config that fails when checking for the version.
Comment 5 Fedora Update System 2017-07-13 06:31:12 EDT
perl-PAR-Packer-1.036-4.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-bf212e0247
Comment 6 Fedora Update System 2017-07-13 06:31:24 EDT
perl-PAR-Packer-1.035-3.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-3d42ac2eb2
Comment 7 Fedora Update System 2017-07-13 06:31:38 EDT
perl-PAR-Packer-1.030-3.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-e2997daf17
Comment 8 Fedora Update System 2017-07-13 17:21:57 EDT
perl-PAR-Packer-1.030-3.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-e2997daf17
Comment 9 Fedora Update System 2017-07-13 17:25:50 EDT
perl-PAR-Packer-1.035-3.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-3d42ac2eb2
Comment 10 Fedora Update System 2017-07-13 19:53:32 EDT
perl-PAR-Packer-1.036-4.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-bf212e0247
Comment 11 Fedora Update System 2017-07-22 23:55:46 EDT
perl-PAR-Packer-1.036-4.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
Comment 12 Ian Morgan 2017-07-23 10:31:24 EDT
> perl-PAR-Packer-1.036-4.fc26 has been pushed to the Fedora 26 stable repository.

However, in the meantime, perl-5.24.2-393.fc26.x86_64 has also been released and now conflicts with this new build of perl-PAR-Packer.

Is there some means in the build system to require that whenever a new perl package is built, that perl-PAR-Packer must be rebuilt at the same time?

I'm in the state when I have these installed:
perl-PAR-Packer-1.036-3.fc26.x86_64
perl-5.24.2-393.fc26.x86_64

This works because the perl-PAR-Packer-1.036-3.fc26.x86_64 requires:
perl(:MODULE_COMPAT_5.24.1)
perl(:VERSION) >= 5.6.0
perl(:VERSION) >= 5.8.1

.. which are all met. But the new perl-PAR-Packer-1.036-4.fc26 now explicitly depends on
perl(:VERSION) = 5.24.1
which isn't met because perl 5.24.2 is already installed.

Please re-build and release perl-PAR-Packer against perl 5.24.2 ASAP, and figure out a way to make sure these packages are always built and released in lock-step.
Comment 13 Fedora Update System 2017-07-23 17:51:32 EDT
perl-PAR-Packer-1.030-3.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.
Comment 14 Fedora Update System 2017-07-23 18:54:33 EDT
perl-PAR-Packer-1.035-3.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.
Comment 15 Johan Vromans 2017-08-16 04:11:40 EDT
Perl has been updated to 5.24.2, and history repeats...

rpm --requires -qp ~/tmp/perl-PAR-Packer-1.035-3.fc25.x86_64.rpm
...
perl(:MODULE_COMPAT_5.24.1)
perl(:VERSION) = 5.24.1
...
Comment 16 Petr Pisar 2017-08-16 04:28:30 EDT
Fedora build infrastructure does not support automatic rebuilds. We have to rebuild it manually. With the perl(:VERSION) dependency we at least know before installing it.
Comment 17 Fedora Update System 2017-08-16 04:43:59 EDT
perl-PAR-Packer-1.036-5.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-f9c0cc106f
Comment 18 Fedora Update System 2017-08-16 04:46:30 EDT
perl-PAR-Packer-1.035-4.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-8cfb07cd7a
Comment 19 Fedora Update System 2017-08-18 17:53:18 EDT
perl-PAR-Packer-1.035-4.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-8cfb07cd7a
Comment 20 Fedora Update System 2017-08-19 14:52:13 EDT
perl-PAR-Packer-1.036-5.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-f9c0cc106f
Comment 21 Fedora Update System 2017-08-28 12:19:09 EDT
perl-PAR-Packer-1.036-5.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
Comment 22 Fedora Update System 2017-08-28 18:21:29 EDT
perl-PAR-Packer-1.035-4.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.