From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 35513 invoked by alias); 6 Apr 2018 00:31:19 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 35435 invoked by uid 89); 6 Apr 2018 00:31:10 -0000 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 Received: from mailout03.t-online.de (HELO mailout03.t-online.de) (194.25.134.81) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 06 Apr 2018 00:31:07 +0000 Received: from fwd14.aul.t-online.de (fwd14.aul.t-online.de [172.20.26.242]) by mailout03.t-online.de (Postfix) with SMTP id 5FABF4236424 for ; Fri, 6 Apr 2018 02:31:05 +0200 (CEST) Received: from [192.168.2.28] (Z4iWF6ZvwhjlDSk3PPIvw40E+x1FKaLJY8aKF8S-kHvHJHMtD0UjyHhjOA96kPOZJW@[91.59.11.219]) by fwd14.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1f4FHQ-0eg8Zs0; Fri, 6 Apr 2018 02:31:00 +0200 Subject: Re: How to handle length limit of PATH environment variable To: cygwin@cygwin.com References: From: =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= Message-ID: <452ef655-850e-a4fd-8680-a15ef7443773@t-online.de> Date: Fri, 06 Apr 2018 00:31:00 -0000 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: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00043.txt.bz2 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