Bug 1470542 - PAR::Packer requires the same perl version it was built against
Summary: PAR::Packer requires the same perl version it was built against
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-PAR-Packer
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-13 07:18 UTC by Johan Vromans
Modified: 2019-01-11 02:59 UTC (History)
4 users (show)

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 perl-PAR-Packer-1.047-2.fc29 perl-PAR-Packer-1.041-5.fc28
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-28 16:19:09 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1570874 unspecified CLOSED Installing perl-PAR-Packer causes perl DOWNGRADE 2020-10-14 00:28:05 UTC

Internal Links: 1570874

Description Johan Vromans 2017-07-13 07:18:21 UTC
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 08:13:30 UTC
(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 08:26:30 UTC
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 08:31:23 UTC
> 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 09:21:52 UTC
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 10:31:12 UTC
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 10:31:24 UTC
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 10:31:38 UTC
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 21:21:57 UTC
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 21:25:50 UTC
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 23:53:32 UTC
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-23 03:55:46 UTC
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 14:31:24 UTC
> 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 21:51:32 UTC
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 22:54:33 UTC
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 08:11:40 UTC
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 08:28:30 UTC
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 08:43:59 UTC
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 08:46:30 UTC
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 21:53:18 UTC
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 18:52:13 UTC
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 16:19:09 UTC
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 22:21:29 UTC
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.

Comment 23 Ian Morgan 2018-12-25 02:04:25 UTC
Same issue just came up again on F29 as a perl update to 5.28.1 is incoming:
 Problem: package perl-PAR-Packer-1.047-1.fc29.x86_64 requires perl(:VERSION) = 5.28.0, but none of the providers can be installed
  - perl-libs-4:5.28.0-423.fc29.i686 has inferior architecture
  - cannot install both perl-libs-4:5.28.1-427.fc29.x86_64 and perl-libs-4:5.28.0-424.fc29.x86_64
  - cannot install both perl-libs-4:5.28.0-423.fc29.x86_64 and perl-libs-4:5.28.1-427.fc29.x86_64
  - cannot install the best update candidate for package perl-libs-4:5.28.0-424.fc29.x86_64
  - cannot install the best update candidate for package perl-PAR-Packer-1.047-1.fc29.x86_64

Please re-build perl-PAR-Packer against this new perl build.

Comment 24 Fedora Update System 2018-12-26 17:03:57 UTC
perl-PAR-Packer-1.047-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-be97e1e1f1

Comment 25 Fedora Update System 2018-12-27 02:34:40 UTC
perl-PAR-Packer-1.047-2.fc29 has been pushed to the Fedora 29 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-2018-be97e1e1f1

Comment 26 Petr Pisar 2019-01-02 12:34:31 UTC
Thank you for the notification. I will rebuild it for Fedora 28 too.

Unfortunately DNF does not support querying exact dependency versions (dnf repoquery --whatrequires 'perl(:VERSION) = 5.26.2') and the notifications from a compose log are broken and disabled for last few months, thus there is no way of automatically discovering there dependency breakages.

Comment 27 Fedora Update System 2019-01-02 12:38:36 UTC
perl-PAR-Packer-1.041-5.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-baf5a808b6

Comment 28 Fedora Update System 2019-01-03 04:00:28 UTC
perl-PAR-Packer-1.041-5.fc28 has been pushed to the Fedora 28 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-2019-baf5a808b6

Comment 29 Fedora Update System 2019-01-04 02:57:02 UTC
perl-PAR-Packer-1.047-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.

Comment 30 Fedora Update System 2019-01-11 02:59:07 UTC
perl-PAR-Packer-1.041-5.fc28 has been pushed to the Fedora 28 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.