delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2024/09/02/17:09:11

DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 482L9AqA1339912
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=buTrH1FK
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1E6B93858416
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1725311349;
bh=3XQvP4/FryKNs3j523gTpdJHYLGOWSpLGWMrnPCCSto=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
From;
b=buTrH1FKHDcsat2tm1NK1LD8r5vzVFWWGemoUZTXnxnLonV4fDMK7QrxCb4iK6ZTY
aZnoId63+IHC+VEAKAZcNCWMVhW0TnIB/F/0V1dGKJMljvonaPfdzUDEA1EsHnAuEQ
yC8i434oriFEDOXKaETY1ITV1BynchYKUDnir2ak=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 548243858C66
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 548243858C66
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1725311325; cv=none;
b=MVmjWBKa8v2i9n8DrrABHrrsn1MeaK9OV/VEmlvHm7s0uGzOzBQ1VVRUxOSn9etRnWEARLe2bANlW9oaPW3IOX98UG2akNqjUVa6yIPjR6Sguuuj7Jf3t8t+HP/PqlCoUwRcXH407OXMv4Y/vt/2roLHqvXvEhnhlxwR5eTNwvs=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1725311325; c=relaxed/simple;
bh=2AE/MPdP+X+Eby4s+3pyM1eDAM19xBG3nNmNRwKcprs=;
h=Message-ID:Date:MIME-Version:Subject:To:From;
b=mC0m72tgU2Sq9aQ1tF8/VUQFgR3Rma2NUvXejZXgxcVwQJdGevbh58E2vecom8bYa8pRuIkWDZTjpgA27MXaBoryWvDe2KhCW31a6kzocEzYNdJEjTWkmbVvuc2YdisNep2vcDfQFiUxzNrc4ZwpLw5osEEcfHewED77irtG4to=
ARC-Authentication-Results: i=1; server2.sourceware.org
Message-ID: <ff829692-06de-4bc3-9730-8401c6c4c124@SystematicSW.ab.ca>
Date: Mon, 2 Sep 2024 15:08:39 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Minor flaws in the Cygwin Perl installation; missing directories
(Perl 5.40.0-1)
To: cygwin AT cygwin DOT com
References: <CAGB_HuSVp3sPxWZOPWiksAQRLW_WG+BqUwTTFYXPGQMSe=UTVQ AT mail DOT gmail DOT com>
Organization: Systematic Software
In-Reply-To: <CAGB_HuSVp3sPxWZOPWiksAQRLW_WG+BqUwTTFYXPGQMSe=UTVQ@mail.gmail.com>
X-Rspamd-Queue-Id: 61BC680009
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LOTSOFHASH, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS,
TXREP, T_SCC_BODY_TEXT_LINE,
UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6
X-Rspamd-Server: rspamout02
X-Stat-Signature: htynrg39qzhbbmq3f96bbkak66h3fz7u
X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361
X-Session-ID: U2FsdGVkX1/m0D7WBsR6q4VZ1ASeEDUy5Nxbepfipug=
X-HE-Tag: 1725311320-554564
X-HE-Meta: U2FsdGVkX19xaVaI2++/Y2FS5vmMvhJ4v273YKWrXWSVMQO9qzv/2zcWAu4ZVrvFevNMbDs7RuaN6Cge8tXlSCJqw4gvbrzq4Iv21G16jaqAb6nxo0bbY1TCneAPuUKxL4qdm5L4b+uDgZPIoWybzRc4N+nIGQmZE1JRMOb5YtajLZV5yQrkJqk1tB6OLK0mhzebY+kuUsD8k954a6hVQeMfbuDTYik08qOWW5ry0jGh5K6xrlpsZ2tuAF/lsbblBXpa143NM4fxKQw2oKUv7GuG0mQJAqlWnZDUdoysC1Q+7PVabGFrfbIkYeHUARNTEKI7cQG6I/2HkByneox0iW1HTbxOkWCvNgoHJS0V25NZdszaamuoQ99iheOYmOLnzASewWPMhGMFwXkONIZmVD5a79Nn0H9C/iJq8be1Vf52CNdqEZ9ki61K/++XKo0pxEm2n+Nhi6KSbQxoKDiE2CUFeLtQsDg4eFpJk65ZCqMrDOUK0tHDlrRnNEtbJrUK
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Brian Inglis via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Brian Inglis <Brian DOT Inglis AT SystematicSW DOT ab DOT ca>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 482L9AqA1339912

On 2024-09-02 10:48, Soren via Cygwin wrote:
> 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

Perhaps the perl package build could benefit from adding:

KEEPDIRS="$PERL_ARCHLIB $PERL_LIB $PERL_SITELIB $PERL_VENDORARCH $PERL_VENDORLIB"

where:

PERL_ARCHLIB=/usr/lib/perl5/5.40/x86_64-cygwin-threads
PERL_LIB=/usr/share/perl5/5.40
PERL_SITELIB=/usr/local/share/perl5/site_perl/5.40
PERL_VENDORARCH=/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads
PERL_VENDORLIB=/usr/share/perl5/vendor_perl/5.40

for the benefit of those who do not install many perl packages?

> One further anomaly: In output of cygcheck:
> 
> perl                      5.40.0-1                     Incomplete
> 
> How do we fix this at Cygwin package build time?

Add options -h -v to cygcheck for details on any operation:

$ cygcheck -chv xxd
Cygwin Package Information
Last downloaded files to: D:/var/cache/setup/packages
Last downloaded files from: https://mirror.cpsc.ucalgary.ca/mirror/cygwin.com/

Package              Version    Status
Missing file: /usr/share/man/fr.ISO8859-1/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/fr.UTF-8/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/fr/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/it.ISO8859-1/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/it.UTF-8/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/it/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/ja/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/pl.ISO8859-2/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/pl.UTF-8/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/pl/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/ru.KOI8-R/man1/xxd.1.gz from package xxd
Missing file: /usr/share/man/ru.UTF-8/man1/xxd.1.gz from package xxd
xxd                  9.0.2155-2     Incomplete

Looks like I blew away a bunch of non-English man locale directories at some 
point! ;^>


What thoroughly confused me recently was perl-Locale-gettext and perl-gettext 
both being installed, obsoleting each other, same package versions but newer 
package with lower release, depending on different perl versions:

$ grep 'perl-\(Locale-\)\?gettext' /etc/setup/installed.db
perl-Locale-gettext perl-Locale-gettext-1.07-1.tar.bz2 1
perl-gettext perl-gettext-1.07-5.tar.bz2 0
perl5_040 perl-Locale-gettext-1.07-1.tar.bz2 0
$ cygcheck -chv perl-{Locale-,}gettext
Cygwin Package Information
Last downloaded files to: D:/var/cache/setup/packages
Last downloaded files from: https://mirror.cpsc.ucalgary.ca/mirror/cygwin.com/

Package              Version    Status
perl-gettext         1.07-5         OK
perl-Locale-gettext  1.07-1         OK
$ cygcheck -l perl-{Locale-,}gettext
/usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads/auto/Locale/gettext/gettext.dll
/usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads/Locale/gettext.pm
/usr/share/doc/perl-gettext/README
/usr/share/man/man3/Locale.gettext.3pm.gz
/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/auto/Locale/gettext/gettext.dll
/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/Locale/gettext.pm
/usr/share/doc/perl-Locale-gettext/README
/usr/share/man/man3/Locale.gettext.3pm.gz
$ ls -glo \
/usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads/auto/Locale/gettext/gettext.dll 
\
/usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads/Locale/gettext.pm \
/usr/share/doc/perl-gettext/README /usr/share/man/man3/Locale.gettext.3pm.gz \
/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/auto/Locale/gettext/gettext.dll 
\
/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/Locale/gettext.pm \
/usr/share/doc/perl-Locale-gettext/README \
/usr/share/man/man3/Locale.gettext.3pm.gz
-rwxr-xr-x 1 15379 May  1  2023 
/usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads/auto/Locale/gettext/gettext.dll
-rw-r--r-- 1  6854 Sep 28  2015 
/usr/lib/perl5/vendor_perl/5.36/x86_64-cygwin-threads/Locale/gettext.pm
-rwxr-xr-x 1 14867 Aug 18 09:44 
/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/auto/Locale/gettext/gettext.dll
-r--r--r-- 1  6854 Sep 28  2015 
/usr/lib/perl5/vendor_perl/5.40/x86_64-cygwin-threads/Locale/gettext.pm
-rw-r--r-- 1  6635 May  1  2023 /usr/share/doc/perl-gettext/README
-rw-r--r-- 1  6635 Aug 18 09:44 /usr/share/doc/perl-Locale-gettext/README
-r--r--r-- 1  2416 Aug 18 09:44 /usr/share/man/man3/Locale.gettext.3pm.gz
-r--r--r-- 1  2416 Aug 18 09:44 /usr/share/man/man3/Locale.gettext.3pm.gz
$ awk '$1 ~ /perl-(Locale-)?gettext/' RS='\n\n@ ' FS='\n' ~/mirror/x86_64/setup.ini
perl-Locale-gettext
sdesc: "Perl distribution Locale-gettext"
ldesc: "Perl distribution Locale-gettext, providing Perl modules:
Locale::gettext.

Perl bindings for POSIX i18n gettext functions."
category: Perl
version: 1.07-1
install: x86_64/release/perl-Locale-gettext/perl-Locale-gettext-1.07-1.tar.zst 
11985 
ad1165f38beb6d4b7203cef931c86eaf5729830666a17225de2452ddef37eac3f0303c42e6c40a054f404fe01ec1a4080346531dc37a8b39a935d5358a8b3bbc
source: 
x86_64/release/perl-Locale-gettext/perl-Locale-gettext-1.07-1-src.tar.zst 9319 
42d81bb4008069bfec60b03dbda8a09aa601724a59d060ad2ac853bb994bf682e37de43901ced6021c9801e65ffc47f469ec1aada89851e84f58592737f73662
depends2: cygwin, libgcc1, libintl8, perl5_040, perl_base
*obsoletes: perl-gettext*
build-depends: cygport, libcrypt-devel
...
perl-gettext
sdesc: "Perl distribution gettext"
ldesc: "Perl distribution gettext, providing Perl modules:
Locale::gettext.

Perl bindings for POSIX i18n gettext functions."
category: Perl
version: 1.07-5
install: x86_64/release/perl-gettext/perl-gettext-1.07-5.tar.zst 12330 
5bc206eda8007b7d091cb1da5f4ce93c98eae298c5b3d9e03ccb7412c239b709d4c47764a96b58950abbb0b48a9b04c0448e688b6ededd4cf9d7932bb394c74b
source: x86_64/release/perl-gettext/perl-gettext-1.07-5-src.tar.zst 9328 
0cb87614767a1d212e96c40cea760d4c253be88c72700fb50a54ce12f5d454aaf53b0bc0ffc9183160c38b4ad574f2c8556a2a6f5185b1b419f1410813d48ece
depends2: cygwin, libgcc1, libintl8, perl5_036, perl_base
*obsoletes: perl-Locale-gettext*
build-depends: cygport, libcrypt-devel, libintl-devel
...

-- 
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 à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

-- 
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019