X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-0.3 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <4B59D9FC.3070307@gmail.com> References: <81D39E818991E549B1F66EB6A7D18422BE8626 AT AVSMOEXCL02 DOT activision DOT com> <4B57DF25 DOT 4040605 AT gmail DOT com> <7f95d3561001220517k4fd93c6btdda02fd06596e97f AT mail DOT gmail DOT com> <20100122154551 DOT GB4020 AT ednor DOT casa DOT cgf DOT cx> <7f95d3561001220823md77as48d8128d396c8370 AT mail DOT gmail DOT com> <4B59D9FC DOT 3070307 AT gmail DOT com> Date: Fri, 22 Jan 2010 18:23:35 +0100 Message-ID: <7f95d3561001220923i60a15fe6u71c36b0baeda3ebe@mail.gmail.com> Subject: Re: Design issue with new MS-DOS style path warning? From: Eric Vautier To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Fri, Jan 22, 2010 at 6:01 PM, Dave Korn wrote: > On 22/01/2010 16:23, Eric Vautier wrote: > >> Let me confirm that the script has not changed at all, and used to >> work fine under the previous version. You'll agree that arriving at a >> C:/cygdrive/c/... path is a little odd, regardless of setup. > > =A0Nope, it's actually entirely sensible! =A0Because ":" is not a drive-l= etter > separator in Linux; it's a separator between path-list components, like "= ;" is > under DOS. > > =A0So if you say "C:\foo\bar" in a path-list context, you are specifying = a list > of two paths: "C" and "\foo\bar". =A0Cygwin (or whatever utility is doing= the > work) translates each one separately and then reconcatenates them. =A0"C"= in DOS > is a relative path to any subdirectory called "C" in the current dir; that > stays the same in unix syntax. =A0"\foo\bar" in DOS is an absolute path r= elative > to the root of the current drive, which, being your C drive, translates i= nto > /cygdrive/c/foo/bar. =A0These two are then reconcatenated into a path list > separted by colons. > > =A0The older version was buggy in this regard, it handled dos paths corre= ctly > at the expense of making a mess of colon-separated posix-style path lists > sometimes. =A0That's why the behaviour has changed, because posix compati= bility > wins out over windows compatibility as a design goal of cygwin, and that'= s why > there's now a warning, to let you know that what you are doing is not goi= ng to > work how you want it to. Right :) So essentially, I have a broken script now, that used to work fine. Remains the challenge: how to fix it for non-buggy 1.7. FYI, the "faulty but perfectly logical" path in one of the two failures (I'll try to trace the other one as well) was arrived at from: 0. Invocation from sh build.sh (mid-script): ant clean get-common debug 1. Output of build script: AndroidApp BUILD FAILED C:\dev\prj\app4\AndroidApp\build.xml:343: Warning: Could not find file C:\cygdrive\c\dev\prj\app4\Common\target\Common.jar to copy. 2. Build target (lines 342-344): 3. Properties: 4. Environment variable: APP4_COMMON_ROOT =3D C:\dev\prj\app4\Common Typing "ant clean get-common debug" works fine from the command line. -e -- 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