[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pipe read hang on Win 2000
From: |
Greg Chicares |
Subject: |
Re: pipe read hang on Win 2000 |
Date: |
Thu, 06 Dec 2001 19:20:46 -0500 |
"J.B." wrote:
>
> Using the Win32 port of GNU make 3.79.1 on Windows 2000 with either the
> Cygwin shell, or the MKS sh.exe, or even the Windows cmd.exe I get a hang
> when running the following makefile:
>
> CWD:=$(shell pwd)
> PKGDIR = $(shell echo this.is.a.test | sed 's:\.:/:g')
>
> all :
> echo $(CWD)
> echo $(PKGDIR)
> echo Done.
> cd testdir2 && $(MAKE)
[...]
> The line of the makefile that causes the problem is the one with the $(shell
> ...) command. I can work around the problem by breaking the $(shell )
> command into two shell commands, storing the intermediate result in a file
> and redirecting I/O rather than using a pipe between echo.exe and sed.exe.
> Also, I've ruled out these two programs as the culprit. I can use other
> programs besides echo and sed and get the hang. Also, the problem doesn't
> happen on Win NT 4.0.
I just started using win2k this weekend, and found a problem
that's either identical or similar. After a lot of fruitless
searching and experimentation, I reread what Eli said on
2001-11-12:
| NTVDM is the Windows DOS emulator,
| so it is irrelevant to Win32 applications.
I was sure I was using win32 versions of make and all the
other gnu utilities--but I was mistaken. My sed.exe was
not a win32 program. I replaced it with this one
http://www.wzw.tu-muenchen.de/~syring/win32/UnxUtils.html
and now I don't get the NTVDM errors anymore.
You can use the win2k task manager (ctrl-alt-del then T)
to see whether an ntvdm process is loaded. Close all cmd
windows and make sure ntvdm is gone. Open a cmd window
and just run
sed
If that causes ntvdm to load, then I think that's the
problem. Bear in mind that I've been using this OS for
less than a week and am no expert; there's probably a
better way to go about this, but this way seems to work.
PS Your reply-to address seems to be invalid.
- Re: pipe read hang on Win 2000,
Greg Chicares <=