Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Perl 5.26 and the . in INC issue where modules won't install

2 views
Skip to first unread message

Martin J. Evans

unread,
Nov 1, 2018, 11:45:02 AM11/1/18
to module-...@perl.org
Hi Module Authors,

Increasingly I am having problems with modules in Perl 5.26 and later which won't install because of the . not in @INC issue. Quite often it is not even the module I want to use but a requirement

e.g., Cache::Memory requires File::NFSLock and File::NFSLock won't install on 5.26 because of @INC change.

In the case of File::NFSLock, a patch was submitted back in Feb 2017 (https://rt.cpan.org/Public/Bug/Display.html?id=120088) but it has still not been applied. Other than ask to take over maintainership of File::NFSLock (and a number of other modules with the same problem) what can I do to get this fixed? Is there a way for a non maintainer to apply the patch and release a new version?

The extra reason this is a pain is we are using Carton and so I believe to supply a hand crafted fixed module I'd have to have a web server somewhere, where I could place the patched module.

Thanks

Martin

David Cantrell

unread,
Nov 1, 2018, 1:00:02 PM11/1/18
to module-...@perl.org
On Thu, Nov 01, 2018 at 03:28:07PM +0000, Martin J. Evans wrote:

> Increasingly I am having problems with modules in Perl 5.26 and later which
> won't install because of the . not in @INC issue. Quite often it is not
> even the module I want to use but a requirement
>
> e.g., Cache::Memory requires File::NFSLock and File::NFSLock won't install
> on 5.26 because of @INC change.

Until authors fix their stuff you can set PERL_USE_UNSAFE_INC=1.

--
David Cantrell | London Perl Mongers Deputy Chief Heretic

Us Germans take our humour very seriously
-- German cultural attache talking to the Today Programme,
about the German supposed lack of a sense of humour, 29 Aug 2001

Martin J. Evans

unread,
Nov 2, 2018, 5:00:03 AM11/2/18
to Alex Muntada, Karen Etheridge, module-...@perl.org
On 01/11/2018 23:39, Alex Muntada wrote:
> Hi Karen,
>
>> You can also install locally patched modules with carton by
>> specifying a 'file:///' path in cpanfile:
>>
>> requires 'Foo::Bar', '0.123', url =>
>> 'file:///local/path/Foo-Bar-0.123.tar.gz';
> I tried this with latest Carton (v1.0.28) and it didn't work.
> Since I couldn't find any reference to an url attribute in
> Module::CPANfile, I'm wondering whether I'm missing something
> because this looks like a very nice feature.
>
> Can you provide some details or pointers on how it works?
>
> Thanks!
> Alex
>
Yes, me too. Shame as it was just the solution I was looking for:

$ ls /home/martin/Downloads/ZMQ-FFI-1.11.tar.gz
/home/martin/Downloads/ZMQ-FFI-1.11.tar.gz

$ cat cpanfile

requires 'ZMQ::FFI', 'file:///home/martin/Downloads/ZMQ-FFI-1.11.tar.gz';

$ carton install
Installing modules using /home/martin/xxx/cpanfile
Can't convert 'file:///home/martin/Downloads/ZMQ-FFI-1.11.tar.gz': Invalid version format (non-numeric data)
Installing modules failed

Martin

Martin J. Evans

unread,
Nov 2, 2018, 7:30:02 AM11/2/18
to Alex Muntada, Karen Etheridge, module-...@perl.org
On 02/11/2018 10:53, Alex Muntada wrote:
> Hi Martin,
>
>> $ cat cpanfile
>>
>> requires 'ZMQ::FFI', 'file:///home/martin/Downloads/ZMQ-FFI-1.11.tar.gz';
> Try this:
>
> requires 'ZMQ::FFI', 0, url => 'file:///home/martin/Downloads/ZMQ-FFI-1.11.tar.gz';
>
> Cheers,
> Alex
>
Thank you Alex. That works a treat.
0 new messages