From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) by sourceware.org (Postfix) with ESMTPS id D213C395188A for ; Tue, 24 Nov 2020 21:06:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D213C395188A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=brian.inglis@systematicsw.ab.ca Received: from [192.168.1.104] ([24.64.172.44]) by shaw.ca with ESMTP id hfVikmPfzbYg3hfVjkTqX1; Tue, 24 Nov 2020 14:06:03 -0700 X-Authority-Analysis: v=2.4 cv=Q4RsX66a c=1 sm=1 tr=0 ts=5fbd75bb a=kiZT5GMN3KAWqtYcXc+/4Q==:117 a=kiZT5GMN3KAWqtYcXc+/4Q==:17 a=IkcTkHD0fZMA:10 a=yMhMjlubAAAA:8 a=uYT-Tk0qkVT609LjNaIA:9 a=QEXdDO2ut3YA:10 From: Brian Inglis Subject: Re: Please add /cygdrive/c/Windows/Sysnative to the default PATH Reply-To: cygwin@cygwin.com To: cygwin@cygwin.com References: <10966099-7fb5-e260-6eff-94cfece470d3@SystematicSw.ab.ca> Organization: Systematic Software Message-ID: Date: Tue, 24 Nov 2020 14:06:02 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-CA Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfNdxwQ31CnnVnJE+W+14XsNWZ4K3BrZWm8djNNwhcAundM2smUMTayUjSmISnCW1f7ofG7QCToixK3fDFY6o95+b0fWI5nL0cYEgEj6JcqynSt6WBEkL ZDl0rLRJp1aWU5urWcpAb7YYcnDX6H/eLUgTMMbvhQqtkncMrYX7fFKRe9Ww0CuQFP52w3nAHgDoKUJO5i6duC7d53VJhdAMDcs= X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00, BODY_8BITS, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Nov 2020 21:06:05 -0000 On 2020-11-24 00:24, Thomas Wolff wrote: > Am 19.11.2020 um 16:57 schrieb Brian Inglis: >> On 2020-11-17 16:41, tealhill via Cygwin wrote: >>> On 2020-11-17 4:23 PM, Thomas Wolff wrote: >>>> Am 17.11.2020 um 20:54 schrieb tealhill via Cygwin: >>>  >> >>>>> Cygwin's /etc/profile sets the PATH. >>>>> >>>>> Could /etc/profile please also add /cygdrive/c/Windows/Sysnative to the end >>>>> of the PATH? >>>  > >>>> It doesn't add any other Windows folders so why this one. >>> >>> ### Summary >>> >>> Why should Cygwin add Sysnative to $PATH?  As a workaround for Microsoft's >>> failure to add Sysnative to %PATH%. >> >> You have the option to add SysNative to your system or user PATH under >> Windows, although that would best be done in your login script. >> >>> ### Full explanation >>> >>> Cygwin imports the Windows %PATH% variable at startup. >>> >>> It would be ideal if Microsoft would add Sysnative to the default Windows >>> %PATH%.  Such a change would help Cygwin users and others. But I doubt that >>> Microsoft will make this change. >>> >>> Therefore, I am suggesting that Cygwin work around Microsoft's omission.  My >>> suggested workaround is for Cygwin to add Sysnative to its own $PATH, >>> automatically. >> >> Cygwin starts with Cygwin paths /usr/bin:/bin and everything else is up to you. >> You may add to your Cygwin PATH in your shell profile with code that switches >> depending on the existence of SysWOW64 and SysNative: cygpath -F 37 gives your >> application sysdir path, and cygpath -F 41 gives your x86 sysdir if there is one: >> >>     https://docs.microsoft.com/en-ca/dotnet/api/system.environment.specialfolder?view=net-5.0 >> >>     https://docs.microsoft.com/en-ca/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderidlist >> >>     https://docs.microsoft.com/en-ca/windows/win32/shell/knownfolderid >> >> and please note that SysNative appears nowhere! > > That's because Sysnative is not a known folder. It is rather unknown just > because it is virtual :) > And that is the problem I tried to address. In cygwin32, you can `cd > $WINDIR/Sysnative` but you wouldn't see the folder. For tools like ls or find it > simply does not exist, while obviously it exists somehow and can be used in PATH. It is visible to find and ls when explicitly specified as /proc/cygdrive/c/Windows/SysNative/ so the contents can be listed and searched, but you have to know to do so, as it does not appear to be derivable from Windows information like other folders. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in binary units and prefixes, physical quantities in SI.]