Description of problem: when I update my system, rakudo-start is replaced by rakudo. After this replacement, I am not able to launch tests on a perl6 project. This always happen (tested on two computers and after a fresh clone). Version-Release number of selected component (if applicable): 0.2017.01-5.fc25 How reproducible: Launch tests in the project folder with `prove -e perl6 -lrv t/` Steps to Reproduce: 1. cd PROJECT_FOLDER 2. prove -e perl6 -lrv t/ Actual results: t/interpreter.t .. ===SORRY!=== Could not find Test at line 2 in: /home/jenselme/.perl6 /usr/share/perl6/site /usr/share/perl6/vendor /usr/share/perl6 CompUnit::Repository::AbsolutePath<94551975258560> CompUnit::Repository::NQP<94551968869128> CompUnit::Repository::Perl5<94551968869168> Dubious, test returned 1 (wstat 256, 0x100) No subtests run Test Summary Report ------------------- t/interpreter.t (Wstat: 256 Tests: 0 Failed: 0) Non-zero exit status: 1 Parse errors: No plan found in TAP output Files=1, Tests=0, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.06 cusr 0.01 csys = 0.08 CPU) Result: FAIL Expected results: All tests found and launched correctly t/interpreter.t .. ok 1 - ok 2 - ok 3 - ok 4 - ok 5 - ok 6 - ok 7 - Invalid syntax ok 8 - Invalid syntax ok 9 - Invalid syntax ok 10 - Invalid character ok 11 - Invalid syntax ok 12 - Invalid syntax ok 13 - Invalid syntax ok 14 - Invalid syntax ok 15 - Invalid syntax ok 16 - Invalid syntax ok 17 - Invalid syntax ok 18 - Invalid syntax ok 19 - Invalid syntax 1..19 ok All tests successful. Files=1, Tests=19, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.28 cusr 0.02 csys = 0.31 CPU) Result: PASS Additional info: - I am using these packages: - rakudo-0.2017.01-5.fc25 (x86_64) - rakudo-start-0.0.2017.01-2.fc25 (x86_64) - The project is available here: https://framagit.org/Jenselme/pascal-interpreter-in-perl6 - I see no package named Test with `dnf search perl6`
This is because rakudo provides rakudo only. No Perl6 modules. rakudo-star provides some Perl6 modules in addition (like the Test module). That's why I raised a warning when reviewing rakudo that rakudo should no obsolete rakudo-star because it's not a superset. We should package those modules separately.
This is expected then. > We should package those modules separately. I don't intend to maintain these packages, but if I can help with the review, let me know.
Actually the modules are there. The problem is they are looked up in a wrong path. It looks like the /usr/share prefix is baked into more places: $ head /usr/lib64/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E use MONKEY-GUTS; # Allow NQP ops. unit module Test; # Copyright (C) 2007 - 2017 The Perl Foundation. # settable from outside my int $perl6_test_times = ?%*ENV<PERL6_TEST_TIMES>; my int $die_on_fail = ?%*ENV<PERL6_TEST_DIE_ON_FAIL>; # global state while an attempt to use Test module reports: $ perl6 -e 'use Test;' ===SORRY!=== Could not find Test at line 1 in: /home/test/.perl6 /usr/share/perl6/site /usr/share/perl6/vendor /usr/share/perl6 CompUnit::Repository::AbsolutePath<94424416308176> CompUnit::Repository::NQP<94424411272664> CompUnit::Repository::Perl5<94424411272704>
The share constant comes from various places, usually as nqp::backendconfig<prefix> ~ '/share/...'. The nqp::backendconfig<prefix> comes from nqp package, specifically from nqp's Configure.pl executed when building nqp. I think we should use nqp::backendconfig<libdir> because it contains a value defined as %{_libdir} in the spec file.
(In reply to Petr Pisar from comment #4) > The nqp::backendconfig<prefix> > comes from nqp package, specifically from nqp's Configure.pl executed when > building nqp. > Correction: It comes from moarvm package.
What is the recommended method of getting modules with rakudo? We used to use zef and/panda with rakudo-star, but both zef and panda require Test, which is missing from rakudo. So how do I get Test on rakudo in the first place? Note: this comment asks for a work around for this issue, until the time resolution / fix is agreed upon and enacted. (In reply to Julien Enselme from comment #2) > This is expected then. > > > We should package those modules separately. > > I don't intend to maintain these packages, but if I can help with the > review, let me know. It looks like unless the packages are created there is an issue; as it does not look like there is an easy alternate way to get these installed.
I have a fix that patches rakudo sources to use the _libdir (moarvm only). It moves the Perl6 files from /usr/lib64/nqp/Perl6 to /usr/lib64/nqp/lib/Perl6 because the original location was /usr/share/nqp/lib/Perl6. I can install zef on top of it and I can install modules using the zef. I will apply it to rawhide. If everything will be smooth, I'd like to apply it to older Fedoras too.
rakudo-0.2017.01-7.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-e9485c6175
rakudo-0.2017.01-6.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-73dd3661ef
rakudo-0.2017.01-7.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-e9485c6175
rakudo-0.2017.01-6.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-73dd3661ef
rakudo-0.2017.01-6.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.
rakudo-0.2017.01-7.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.