The Perl interpreter uses directories contained in the internal array @INC to find libraries. Cygwin's Perl 5.40.0-1 installation leaves several directories uncreated but listed in @INC. Like so (from $perl -V):
@INC: /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 ------------------------------ Let's look at the error messages we get. Can't stat /usr/local/lib/perl5/site_perl/5.40/x86_64-cygwin-threads: No such file or directory at C:\Users\Sally\Documents\Scripts\seekinc.pl line 30. Can't stat /usr/local/share/perl5/site_perl/5.40: No such file or directory at C:\Users\Sally\Documents\Scripts\seekinc.pl line 30. Can't stat /usr/share/perl5/vendor_perl/5.40: No such file or directory at C:\Users\Sally\Documents\Scripts\seekinc.pl line 30. It's micro-optimization, sure, but having Perl stat non-existent directories every time it runs; this is just not nice. And this is not the only issue. Observe the following, please: ------------------------------ @INCCount /usr/local/share/perl5/site_perl/5.40 0 /usr/local/lib/perl5/site_perl/5.40/x86_64-cygwin-threads 0 /usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads 2 /usr/lib/perl5/5.40/x86_64-cygwin-threads 112 /usr/share/perl5/5.40 1287 /usr/share/perl5/vendor_perl/5.40 0 ------------------------------ The left-hand column lists Perl's @INC and the right-hand numbers are counts of the libraries or modules found under those parent directories. No, I did not count them manually. I wrote a simple script in Perl to generate these. The 3 base directories with 0 files under them don't exist. For one example of consequences: If one were to use cpanplus, it would want to place files under /usr/local/share/perl5/site_perl/5.40 and suchlike. I love using cpanplus. Watching it run the builds, tests and installations automatically is very relaxing ;-). These examples are all from a Perl installation I did this evening, with no Perl ever installed before; completely "clean". Please check your own installation of cygwin-perl. By the way, the script used to investigate @INC (I call such programs "introspective" scripts) is on GitHub at: https://github.com/somian/seekinc/blob/main/seekinc.pl One further anomaly: In output of cygcheck: perl 5.40.0-1 Incomplete How do we fix this at Cygwin package build time? -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple