[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pipe read hang on Win 2000 with make 3.79.1
From: |
J . B . |
Subject: |
pipe read hang on Win 2000 with make 3.79.1 |
Date: |
Mon, 12 Nov 2001 16:32:05 +0000 |
Here's a problem I've encountered recently ...
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 hang appears to be on a pipe read. Due to my lack of Win32 experience,
that's all I can tell. In addition, this makefile must be in a recursive make,
nested about 5 or 6 directories deep, so simply create the following directory
directory structure and put a copy of the makefile in each directory and run
make at the top level:
c:/testdir2/testdir2/testdir2/testdir2/testdir2/testdir2/testdir2
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. The problem doesn't appear to happen on
Win NT 4.0.
Any help in getting this fixed would be greatly appreciated.
-JB
- pipe read hang on Win 2000 with make 3.79.1,
J . B . <=