Bug 1554626

Summary: zef fails to open file
Product: [Fedora] Fedora Reporter: Todd <ToddAndMargo>
Component: rakudo-zefAssignee: Gerd Pokorra <gp>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 27CC: gp
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: rakudo-zef-0.2.3-1.fc27 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-08 05:52:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Todd 2018-03-13 03:25:16 UTC
Dear Fedora Rakudo Maintainers,

# rpm -qa rakudo\*
rakudo-zef-0.1.30-1.fc27.x86_64
rakudo-0.2018.02.1-1.fc27.x86_64

When attempting to install any module with zef, you get the following error:

# zef install Net::SMTP
===SORRY!===
Failed to open file /usr/lib64/perl6/site/dist/863D6AAB4F5E7259BA381C4EBE0F88BAA358090E: No such file or directory 

# ls -al /usr/lib64/perl6/site/dist
total 8
drwxrwsrwx. 2 root root 4096 Mar 11 22:54 .
drwxr-xr-x. 8 root root 4096 Mar 11 22:37 ..


Workaround:

# dnf remove rakudo rakudo-zef

Download and install:
https://github.com/nxadm/rakudo-pkg#rakudo-pkg
https://nxadm.github.io/rakudo-pkg/latest-release.html?os=fedora&version=27&arch=x86_64

# dnf install rakudo-pkg-Fedora27-2018.02.1-01.x86_64.rpm
# ln -s /opt/rakudo-pkg/bin/perl6 /usr/bin/perl6

By the way, the above also contains zef, which is something I wish you guys would do as well.

Comment 1 Gerd Pokorra 2018-03-13 08:48:24 UTC
The Rakudo packages from nxadm at Github are not normal packages. I looked at the packages for some time ago. They doing not a build of the software. They simple collect files to a package that are indeed already installed. There will first MoarVM be installed, then NQP, then Rakudo and then zef. At least all the files will be collected at are already installed. This is the reason why all the files of MoarVM, NQP, Radudo and zef can be get in one RPM.

It is not possible to do a rebuild of the source rpm. This is not supported from the Fedora build system. So the rpm is also only for the x86_64 architecture where the files are collected.

I can not reproduce the error. I tried 'zef install Net::SMTP' as root.

# zef install Net::SMTP
===> Searching for: Net::SMTP
===> Updated cpan mirror: https://raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan.json
===> Updated p6c mirror: http://ecosystem-api.p6c.org/projects.json
===> Searching for missing dependencies: Email::Simple, MIME::Base64, Digest::HMAC, Digest, IO::Socket::SSL
===> Searching for missing dependencies: DateTime::Format, OpenSSL
===> Testing: DateTime::Format
===> Testing [OK] for DateTime::Format
===> Testing: Email::Simple:ver<2.0.0>:auth<github:retupmoca>
===> Testing [OK] for Email::Simple:ver<2.0.0>:auth<github:retupmoca>
===> Testing: MIME::Base64:ver<1.2.1>:auth<github:retupmoca>
===> Testing [OK] for MIME::Base64:ver<1.2.1>:auth<github:retupmoca>
===> Testing: Digest:ver<0.3.4>:auth<Lucien Grondin>
===> Testing [OK] for Digest:ver<0.3.4>:auth<Lucien Grondin>
===> Testing: Digest::HMAC:ver<1.0.0>:auth<github:retupmoca>
===> Testing [OK] for Digest::HMAC:ver<1.0.0>:auth<github:retupmoca>
===> Testing: OpenSSL:ver<0.1.18>:auth<github:sergot>
# NETWORK_TESTING was not set
# NETWORK_TESTING was not set
===> Testing [OK] for OpenSSL:ver<0.1.18>:auth<github:sergot>
===> Testing: IO::Socket::SSL:ver<0.0.1>:auth<github:sergot>
# NETWORK_TESTING was not set
===> Testing [OK] for IO::Socket::SSL:ver<0.0.1>:auth<github:sergot>
===> Testing: Net::SMTP:ver<1.1.0>:auth<github:retupmoca>
===> Testing [OK] for Net::SMTP:ver<1.1.0>:auth<github:retupmoca>
===> Installing: DateTime::Format
===> Installing: Email::Simple:ver<2.0.0>:auth<github:retupmoca>
===> Installing: MIME::Base64:ver<1.2.1>:auth<github:retupmoca>
===> Installing: Digest:ver<0.3.4>:auth<Lucien Grondin>
===> Installing: Digest::HMAC:ver<1.0.0>:auth<github:retupmoca>
===> Installing: OpenSSL:ver<0.1.18>:auth<github:sergot>
===> Installing: IO::Socket::SSL:ver<0.0.1>:auth<github:sergot>
===> Installing: Net::SMTP:ver<1.1.0>:auth<github:retupmoca>
#

Comment 2 Todd 2018-03-13 10:53:40 UTC
(In reply to Gerd Pokorra from comment #1)

> I can not reproduce the error. I tried 'zef install Net::SMTP' as root.

I have noticed the same thing.  I have about three machines I had to use the git rpm and two that I use the Fedora rpm

Comment 3 Gerd Pokorra 2018-03-13 11:26:41 UTC
What happens on a machine with the problem, if you remove the maorvm, nqp, rakudo package and install rakudo and rakudo-zef again from the Fedora repository?

Comment 4 Todd 2018-03-13 11:30:50 UTC
(In reply to Gerd Pokorra from comment #3)
> What happens on a machine with the problem, if you remove the maorvm, nqp,
> rakudo package and install rakudo and rakudo-zef again from the Fedora
> repository?


On this machine -- the one I reported it on -- there is no symptom change.  I actually did it three times.  I asked the Perl6 mailing list and they told me to go get the rpm from git.

Comment 5 Gerd Pokorra 2018-03-13 11:39:34 UTC
I will build a new rakudo-zef package on top of rakudo 2018.02 for F27. It is a strange symptom, that it works on one machine and not on the other. Perhaps I will not have time for it this week, then the rebuild of rakudo-zef will be done next week.

Comment 6 Todd 2018-03-13 19:07:09 UTC
(In reply to Gerd Pokorra from comment #5)
> I will build a new rakudo-zef package on top of rakudo 2018.02 for F27. It
> is a strange symptom, that it works on one machine and not on the other.
> Perhaps I will not have time for it this week, then the rebuild of
> rakudo-zef will be done next week.

Awesome. If it happens again, I suspect it is SELinux and dontaudits, so nothing shows in sealert.   (I just had this issue with lightdm.)

Comment 7 Gerd Pokorra 2018-03-14 13:36:42 UTC
To check if it has something to do with SELinux you can disable it with

 > setenforce 0

Comment 8 Todd 2018-03-14 18:20:30 UTC
(In reply to Gerd Pokorra from comment #7)
> To check if it has something to do with SELinux you can disable it with
> 
>  > setenforce 0

Will try when you redo the RPM.  It did not matter on this version.

And to temporarily remove "dontaudits" so alterts will always show in sealerts

   # semodule -BD   

To put it back

  # semodule -B

Comment 9 Fedora Update System 2018-03-22 12:16:21 UTC
rakudo-zef-0.2.3-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-6804a29243

Comment 10 Gerd Pokorra 2018-03-22 12:26:22 UTC
You can download the RPM from 

https://kojipkgs.fedoraproject.org//packages/rakudo-zef/0.2.3/1.fc27/x86_64/rakudo-zef-0.2.3-1.fc27.x86_64.rpm

and test.

Comment 11 Fedora Update System 2018-03-22 17:40:34 UTC
rakudo-zef-0.2.3-1.fc27 has been pushed to the Fedora 27 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-6804a29243

Comment 12 Fedora Update System 2018-04-08 05:52:56 UTC
rakudo-zef-0.2.3-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.