On 11/3/19 9:52 PM, ToddAndMargo via users wrote:
Hi All,
Help! I am so, so screwed if I can't get Perl 6 working again.
I just upgraded Fedora from 30 to 31.
I upgraded to rakudo-pkg-Fedora31-2019.07.1-03.x86_64.rpm from https://github.com/nxadm/rakudo-pkg/releases
Now P6 can not find my subs inside my modules:
# cat p6lib/ModuleTest.pm6 sub ModuleTest() is export( :ModuleTest ) { say "Hi"; } sub ModuleTst() is export( :ModuleTst ) { say "Bye"; }
# perl6 -I./p6lib -e 'use ModuleTest :ModuleTest :ModuleTst; ModuleTest; ModuleTst;'
===SORRY!=== Error while compiling -e Undeclared name: ModuleTst used at line 1
The stock "rakudo" and "rakudo-zef" that resides in the Fedora repo's has the same issue.
And I just reproduced it on a fresh virtual machine of Fedora 31 that had never before been touched by Perl 6 (Rakudo)
This problem now occurs across all my programs that call any of my custom modules. This did to happen in Fedora 30.
Many thanks, -T
Follow up:
Fedora 31 became hard nosed about my mistakes. Tom on the Perl 6 mailing list called it.
I had thought all my modules used "unit module MyModule;", but into everyone life a little humility must fall, not all of them were. They are now.
And everyone that imported things suddenly demanded I use :some-key nicknames, which makes my code a lot easier to maintain.
Why Fedora 30 let me get away with such hell is a mystery.
Lets hope my modules still like the position of the moon when it goes down!
You know, when it is your problem, it is better because it is something you can fix. The egg on the face thing is another issue.
Everything is behaving now. -T