delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2024/09/02/12:50:05

DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 482Go5RR1244598
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=MvjIcHxk
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3734D385DDEB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1725295803;
bh=smBwrx1ypHjvW2H/mF+mp4tdToUpUO0XyEwAUuW+AWw=;
h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=MvjIcHxkhE+zaoDBrDOFs6GrvVG1OY66OhDEIBKuBOf/CekconyswQwDxDLkU5rWl
CYRLj/iC4yX5oXNkciAEMb8y0ouzYkbVH04iPJcQdlo8WkeWakjQn2r+OdKXR4KJPO
Sg8iaWSfmRxdb4UeH58bAL+N0fUqOMOdZoiZ1Jgw=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CEC3C3858C33
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CEC3C3858C33
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1725295749; cv=none;
b=qfjwSSZlqP8SIThIBAvZSSKyjbVreoK9waB+KlpZnDUeXI9nWuCcK0ckD/mxyD2/slijD8xy8AnQioyUWOO3Xls9WFNsS15yQI98aYS3SQY64ETsdupTtNRTnaDlIbbz7QVgSC7X7qb94ux3Nc4k8asYz15YPsgiqJEUuNzyVvI=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1725295749; c=relaxed/simple;
bh=+gDSDWdug7YE4bo3WDhibhOatsa/BCa7otfCKMxsnjU=;
h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
b=Cgi4uHQUkqgVZxiQHOExd8aKmnKQI3abd/tGDdILxre0OUlwxm4ewB5Qi7wYg3HR+F1tFIoMhRCeVBGNRBf3385VWFRVZYM5s0WbqlQ/W0TLV+DbVwV1WFzsPO/RfJTXejErg8hONJWgUqcT4NuKg1qEijo/sc27ZifB2Q0l/8M=
ARC-Authentication-Results: i=1; server2.sourceware.org
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1725295745; x=1725900545;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=/KIhFVCyvmKCmVeWZC6kos/k3KjfOJrBAWHO+zvc8os=;
b=ukBp0MUbC0EIgF6qFycu3fldTKbKowYomKinENqacXsY1gR0pNEaGTcbprtEvEiWwS
ILxb0NxtzfZLYM7peo0K+OszDIVGHKBRIjyyBEWk9Zi8x2ZRUkLWxQWnDTHQxwvf60tm
jA/DgNMY2wkU0LDCTBi/17nDbPHuB5grnSrhYFOkNHFcC2jT7tsQnUVY19pWzuRLU2g3
vWc4wi0LmCmGnt8K509E6L8yeu+o1sHeN6c2YVM65JKVSxDc0Y3MYvFVMtfzcP3hR4TX
5hI2xSH59ju55r0uFss0h5wnqhLfH8xvIwU9BotNFPmn6oam/Z6jW7a17RN8Veuqw8/z
yB3w==
X-Gm-Message-State: AOJu0YxRMsIeNOoi5T00eX6Qr+kcyuSotck4gXTrz5MQL8mfRunjGwab
9w9ilWkImMPfesCrJQ3n7edOvUDkW8ndkv5fqTIqO8/li9JKh80QWh9GHtuO4zuLW0fs9uj3kUE
OtVPkFaNSwSffMKNzDP7/tlAYxA0m2CXN
X-Google-Smtp-Source: AGHT+IHuGi7kBrEMquSXhTVRIgkbM+wQIX1lcYO2t2cffoPtmxEgLt1L5blD4orFpGsmkZo16PIIik7ax8fe9DpqLrg=
X-Received: by 2002:a17:90a:8d0e:b0:2cf:2ab6:a157 with SMTP id
98e67ed59e1d1-2d89728ba16mr5928765a91.12.1725295744932; Mon, 02 Sep 2024
09:49:04 -0700 (PDT)
MIME-Version: 1.0
Date: Mon, 2 Sep 2024 12:48:53 -0400
Message-ID: <CAGB_HuSVp3sPxWZOPWiksAQRLW_WG+BqUwTTFYXPGQMSe=UTVQ@mail.gmail.com>
Subject: Minor flaws in the Cygwin Perl installation; missing directories
(Perl 5.40.0-1)
To: cygwin AT cygwin DOT com
X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT,
FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS,
TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-Content-Filtered-By: Mailman/MimeDel 2.1.30
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-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: Soren via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Soren <somian08 AT gmail DOT com>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>

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

- Raw text -


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