Mail Archives: cygwin/2010/01/22/12:23:52
On Fri, Jan 22, 2010 at 6:01 PM, Dave Korn
<dave DOT korn DOT cygwin AT googlemail DOT com> 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):
<target name=3D"get-common">
<copy file=3D"${common-jar}" todir=3D"libs" />
</target>
3. Properties:
<property name=3D"common" location=3D"${env.APP4_COMMON_ROOT}" />
<property name=3D"common-jar" value=3D"${common}/target/Common.jar" />
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
- Raw text -