Missing .pod file for 'diagnostics' pragma in CygwinPerl package?
Brian Inglis
Brian.Inglis@SystematicSW.ab.ca
Fri Apr 18 18:00:47 GMT 2025
On 2025-04-17 19:34, Soren via Cygwin wrote:
> Hello Again, Cygwinistas;
>
> On Thu, Apr 17, 2025 at 1:07 PM I wrote:
>>
>> Hello Cygwinstas,
>>
>> I've got a question about the cygwin perl package installed with cygwin setup. I'm having a failure in some perl code not written by me but rather in a CPAN module I am seeking to install. This failure does not occur on Gnu/Linux. The first 10 lines of that module are:
>>
>> package Array::Contains;
>>
>>
>> use 5.010_001;
>> use strict;
>> use warnings;
>> use diagnostics;
>> use mro 'c3';
>> use English;
>> our $VERSION = 2.8;
>> use Carp;
>>
>> Line 6 contains the directive to use the diagnostics pragma as you see. But when the perl compiler hits that line, it dies with the following long and slightly confusing messages:
>>
>> $ perl '-Mdiagnostics' -le 'print $diagnostics::VERSION'
>> couldn't find diagnostic data in /usr/share/perl5/5.40/pods/perldiag.pod /usr/share/perl5 /usr/local/lib/perl5/site_perl/5.40/x86_64-cygwin-threads /usr/local/share/perl5/site_perl/5.40 /usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads /usr/share/perl5/vendor_perl/5.40 /usr/lib/perl5/5.40/x86_64-cygwin-threads /usr/share/perl5/5.40 -e at /usr/share/perl5/5.40/diagnostics.pm line 259, <POD_DIAG> line 718.
>> Compilation failed in require.
>> BEGIN failed--compilation aborted.
>
> I'm following up on my own message here. I've been discussing it with
> monks over at perlmonks (https://perlmonks.org) and someone there
> (monk named choroba) knew what was wrong; the file
> /usr/share/perl5/5.40/pods/perldiag.pod is, on Cygwin, not installed
> automatically with the base perl executable, library and core modules.
> It's in, rather, the optional package <<perl_pods>>. So I installed
> that package and the problem went away.
One entry not yet in the FAQ is that Cygwin packages mainly split non-trivial
docs, including those with lots of man pages, into separate -doc sub-packages.
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin
mailing list