delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2018/04/05/20:31:30

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=umfB5mIPVsS8ZE7k
b8A8uhjVv76gBYdiN6YvebZUKPcGMt9MxM0mh7xZWC0Ayi9TSCW/9RRoZ4P3L0en
/kUE88PvbTcTDsI5UDhyrP6bqGcrLyUPEZXypRwgWQokM0Ts07HsyljCdJDYbmlp
BP0Os4zzd7SAHdUlOc5s8QC1YNs=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=xOy2iU3GHljh4y6iU89AWD
9Qkd8=; b=oomg7T1OIqTAAC5GPf1vQU5Ob0xN8vGJF8L774WdBkiUo4v6u+C3eB
naTqe44YC4LqUNnIAxBVrbSZmOoPr7/uTHxu5FCJqbTBkF/eAzhjVpN6391GVwBt
CEkJDmgKEeTvX7VqP6Yai+a4gsRHu/bs0HTR+LdPZDrpoCq0VtuXA=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=H*Ad:D*t-online.de, H*M:online, Sometimes, trees
X-HELO: mailout03.t-online.de
Subject: Re: How to handle length limit of PATH environment variable
To: cygwin AT cygwin DOT com
References: <ebd804f3-8e24-d96f-7ef4-0e1279afd929 AT gmail DOT com>
From: =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= <HBBroeker AT t-online DOT de>
Message-ID: <452ef655-850e-a4fd-8680-a15ef7443773@t-online.de>
Date: Fri, 6 Apr 2018 02:30:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <ebd804f3-8e24-d96f-7ef4-0e1279afd929@gmail.com>
X-IsSubscribed: yes

Am 05.04.2018 um 11:19 schrieb Peter Bauer:

> i was bitten by the length limit of the PATH variable of 4095 characters 
> (see [1]) and could not find a way around it. This means i have a lot of 
> software packages in different directories and each of them adds itself 
> to the PATH so one can run the executables and have the shared libs 
> available. 

As far as DLLs are concerned, that would be a misuse of the PATH.  AFAIK 
they will already be found by being in the same directory as the 
executable that needs them.

> Under Windows there is the "short path workaround" but what 
> to do under Cygwin?

Being Cygwin, you should do what Unix has always done: do away with the 
whole idea that every program needs an entire directory tree of its own. 
  The promise that this would somehow make separate installation and, 
more importantly, un-installation or update of program packages much 
easier was never really kept, anyway.

I.e. you shoule have _one_ tree like thone below /usr, instead of dozens 
of c:/programs/manufacturer/package trees.  And while maintaining such a 
collection on Windows might seem nightmarish, tools like "stow" make it 
quite manageable on a Unix-style platform, with Unix-style software 
packages.  With stow, it works like this for a typical autoconf'ed package:

	.../configure --prefix=somewhere
	make
	make install prefix=somewhere/.stow/packagename
	pushd somewhere/.stow/
	stow packagename
	popd

Stow then builds and maintains a thicket of symlinks from "somewhere" 
into the individual packages' trees under "somewhere/.stow" such that 
the packages work just as if they had actually been installed directly 
into "somewhere", while they're still separate and can be updated or 
uninstalled individually.  Sometimes package have to be massaged bit 
(e.g. for GNU info 'dir' files), but it works remarkably well given how 
simple it is, at heart.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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