This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Cygwin and Windows Paths Leaking Through


I am using Cygwin 1.7.9-1 on my Windows desktop.  I ran into a problem a few
weeks ago using the dmake.exe uiliy, wherein dmake wanted the project that I
was builing to be not in Linu convetion, but rather in a Windows notation.  
Since ":" and "\" are not acceptable characters in a Linux path, I had to
work around the problem.  I just put "/folder1/folder2/filename.extension". 
This "trick" worked, so long as everything is on drive C, which in my case
it is.

I should have tried to solve the problem, but I worked around it and got
past the issue, so I left well enough alone, till yesterday.

Yesterday, I downloaded the source for binutils-2.21 and attempted to make
the project.  I got as far as line 2374 of /ld/  I got a
"missing file or directory" error, which threw me until I figured out that
the problem is not that the file is not there, it is, but rather that
./ expects a Windows path, which is not posslbe to give it and
would conflict with gcc and everything else.

For posterity sake, the binary utiliities source is available at:

Cygwin is supposed to provide an isolated environment totally shielding
applications that run on the inside from even knowing that a Windows
anything exists.  That dmake and now something in genscripts does not, means
that the Cygwin wall has some holes.

How do I get around this problem and more importantly how to I put up a
shield such that things on the inside do not see the outside world. 
/usr/local should be just that, not C:/cygwin/usr/local.  Yes,
/cygwin/usr/local should work too, if on drive C to start.  Just in case
anyone is interested, /cygdrive/c/... in these errors does not work.  The
offending applets really want windows paths.  Thankfully, Windows supports
both \ and / as the same thing.

My posting is on how to fix Cygwin, such that Cygwin acts like it was a real
Linux box and does not have "holes" to the outside world, but as an FYI,
here is the latest error capture:

mv -f .deps/ldmain.Tpo .deps/ldmain.Po
gcc -DHAVE_CONFIG_H -I.  -I. -I. -I../bfd -I./../bfd -I./../include  -g -O2
-DENABLE_PLUGINS -DLOCALEDIR="\"/usr/local/share/locale\""  -W -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT
ldemul.o -MD -MP -MF .deps/ldemul.Tp
o -c -o ldemul.o ldemul.c
mv -f .deps/ldemul.Tpo .deps/ldemul.Po
gcc -DHAVE_CONFIG_H -I.  -I. -I. -I../bfd -I./../bfd -I./../include  -g -O2
-DENABLE_PLUGINS -DLOCALEDIR="\"/usr/local/share/locale\""  -W -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2 -MT
ldfile.o -MD -MP -MF .deps/ldfile.Tp
o -c -o ldfile.o \
        -DSCRIPTDIR='"/usr/local/mips-elf/lib"' -DBINDIR='"/usr/local/bin"'
-DTOOLBINDIR='"/usr/local/mips-elf/bin"' \
mv -f .deps/ldfile.Tpo .deps/ldfile.Po
LIB_PATH='' /bin/sh ./ "." "/usr/local/lib" "/usr/local"
"/usr/local" i686-pc-cygwin mips-unknown-elf mips-elf "elf32ebmip"
"/usr/local/lib /lib /usr/lib" no elf32ebmip "mips-elf"
: No such file or directory line 2: ./emulparams/
make[4]: *** [eelf32ebmip.c] Error 1
make[4]: Leaving directory `/usr/local/binutils-2.21/ld'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/local/binutils-2.21/ld'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/local/binutils-2.21/ld'
make[1]: *** [all-ld] Error 2
make[1]: Leaving directory `/usr/local/binutils-2.21'
make: *** [all] Error 2

Thanks in advance,

View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]