Skip Menu |
Report information
Id: 130883
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: mt1957 [at] gmail.com
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



To: rakudobug [...] perl.org
Subject: problem with RESOURCES and PERL6LIB env variable
From: mt1957 <mt1957 [...] gmail.com>
Date: Mon, 27 Feb 2017 15:55:28 +0100
Hi, In Rakudo version 2017.02-56-g9f10434 built on MoarVM version 2017.02-7-g3d85900 implementing Perl 6.c I observed the following; Assume that a distribution is at /x/y (on Unix) then; 1) when no environment variable PERL6LIB is set, the modules from the /x/y/lib directory can not be found. This is normal. 2) when PERL6LIB is set to the empty string, suddenly it is able to find the modules. This is not ok. this is the same when a dot is in the string ('.'), to find modules in the current directory. What also happens is that the path to the resource is calculated wrong. Assume /x/y/resources/a.b, %?RESOURCES<a.b> returns /x/resources/a.b missing the /y. When the bowels of the %?RESOURCES are displayed, the repo key misses the '/lib' at the end of its repository path. 3) when 'lib' is used in the PERL6LIB variable all is fine. I was in the habit of using the string '.,lib' until perl6 choose the dot over the 'lib' part and got faulty RESOURCES results in one of my repositories. Thanks, Marcel
Download (untitled) / with headers
text/plain 1.2k
On Mon, 27 Feb 2017 06:55:46 -0800, mt1957@gmail.com wrote: Show quoted text
> Hi, > > In Rakudo version 2017.02-56-g9f10434 built on MoarVM version > 2017.02-7-g3d85900 > implementing Perl 6.c I observed the following; > > Assume that a distribution is at /x/y (on Unix) then; > > 1) when no environment variable PERL6LIB is set, the modules from the > /x/y/lib directory can not be found. This is normal. > > 2) when PERL6LIB is set to the empty string, suddenly it is able to find > the modules. This is not ok. this is the same when a dot is in the > string ('.'), to find modules in the current directory. What also > happens is that the path to the resource is calculated wrong. Assume > /x/y/resources/a.b, %?RESOURCES<a.b> returns /x/resources/a.b missing > the /y. When the bowels of the %?RESOURCES are displayed, the repo key > misses the '/lib' at the end of its repository path. > > 3) when 'lib' is used in the PERL6LIB variable all is fine. > > > I was in the habit of using the string '.,lib' until perl6 choose the > dot over the 'lib' part and got faulty RESOURCES results in one of my > repositories. > > Thanks, > Marcel
A test for the PERL6LIB problem was added with https://github.com/perl6/roast/commit/10cf641e28dd7ba970082b36ece2ed2519fcf3a9
Download (untitled) / with headers
text/plain 1.5k
On Sat, 15 Jul 2017 09:44:28 -0700, jan-olof.hendig@bredband.net wrote: Show quoted text
> On Mon, 27 Feb 2017 06:55:46 -0800, mt1957@gmail.com wrote:
> > Hi, > > > > In Rakudo version 2017.02-56-g9f10434 built on MoarVM version > > 2017.02-7-g3d85900 > > implementing Perl 6.c I observed the following; > > > > Assume that a distribution is at /x/y (on Unix) then; > > > > 1) when no environment variable PERL6LIB is set, the modules from the > > /x/y/lib directory can not be found. This is normal. > > > > 2) when PERL6LIB is set to the empty string, suddenly it is able to > > find > > the modules. This is not ok. this is the same when a dot is in the > > string ('.'), to find modules in the current directory. What also > > happens is that the path to the resource is calculated wrong. Assume > > /x/y/resources/a.b, %?RESOURCES<a.b> returns /x/resources/a.b missing > > the /y. When the bowels of the %?RESOURCES are displayed, the repo > > key > > misses the '/lib' at the end of its repository path. > > > > 3) when 'lib' is used in the PERL6LIB variable all is fine. > > > > > > I was in the habit of using the string '.,lib' until perl6 choose the > > dot over the 'lib' part and got faulty RESOURCES results in one of my > > repositories. > > > > Thanks, > > Marcel
> > A test for the PERL6LIB problem was added with > https://github.com/perl6/roast/commit/10cf641e28dd7ba970082b36ece2ed2519fcf3a9
Also, the test was added because the PERL6LIB problem had been resolved (https://github.com/rakudo/rakudo/commit/075ddefa9b9366c0610632802eaf3c6fc9a6029f).
The %?RESOURCES bug was fixed in: https://github.com/rakudo/rakudo/pull/1106


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org