Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Message-ID: <3E6F54AC.7080905@ntlworld.com> Date: Wed, 12 Mar 2003 15:39:24 +0000 From: Parish User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4a) Gecko/20030305 Netscape6/6.5 X-Accept-Language: en-gb, en-us MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: SHELL on W2K (gmake 3.79.1) is cmd.exe not /bin/sh Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I am trying to help someone get Mozilla building on W2K but we can't get it to work because, it appears, the value of SHELL is being set to cmd.exe (i.e. COMSPEC). It is being run from the cygwin bash shell. My setup works fine so I am looking for differences. I got him to run make with -p and send me the output. The relevant bits from this are: # GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. # Built for i686-pc-cygwin # Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 # Free Software Foundation, Inc. # environment COMSPEC = C:\WINNT\system32\cmd.exe # environment PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH # makefile SHELL = C:/WINNT/system32/cmd.exe # makefile MAKEFLAGS = --win32 -p # environment PATH = /usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINNT/system32: /cygdrive/c/WINNT:/cygdrive/c/WINNT/System32/Wbem: /cygdrive/c/Progra~1/Microsoft SQL Server/80/Tools/BINN: /cygdrive/d/Projects/Perl/bin/:/cygdrive/d/projects/nasm: /cygdrive/d/Projects/MozTools/bin:/bin:/cygdrive/d/Projects/WinCvs: /cygdrive/c/util:/cygdrive/d/Progra~1/Resource Kit/: /cygdrive/d/Progra~1/Micros~1/Common/Tools/WinNT: /cygdrive/d/Progra~1/Micros~1/Common/MSDev98/Bin: /cygdrive/d/Progra~1/Micros~1/Common/Tools: /cygdrive/d/Progra~1/Micros~1/VC98/bin:/usr/X11R6/bin # environment MAKE_MODE = unix On my system SHELL=/bin/sh and MAKEFLAGS= --unix -p, which is correct. The following are in his environment (and matches mine): BASH=/bin/bash BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="8" [4]="release" [5]="i686-pc-cygwin") BASH_VERSION='2.05b.0(8)-release' COMSPEC='C:\WINNT\system32\cmd.exe' HOME=/cygdrive/d/Projects HOSTTYPE=i686 MACHTYPE=i686-pc-cygwin MAKE_MODE=unix OPTERR=1 OPTIND=1 OS=Windows_NT OSTYPE=cygwin PATH='/usr/local/bin:/usr/bin:/bin:/cygdrive/d/Projects/Perl/bin/: /cygdrive/c/WINNT/system32:/cygdrive/c/WINNT: /cygdrive/c/WINNT/System32/Wbem:/cygdrive/c/util: /cygdrive/d/Progra~1/Resource Kit/: /cygdrive/c/Progra~1/Microsoft SQL Server/80/Tools/BINN: /cygdrive/d/Projects/WinCvs: /cygdrive/d/Progra~1/Micros~1/Common/Tools/WinNT: /cygdrive/d/Progra~1/Micros~1/Common/MSDev98/Bin: /cygdrive/d/Progra~1/Micros~1/Common/Tools: /cygdrive/d/Progra~1/Micros~1/VC98/bin:/cygdrive/d/projects/nasm: /cygdrive/d/Projects/MozTools/bin:/bin:/usr/X11R6/bin' PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH' PIPESTATUS=([0]="2") SHELL=/bin/bash SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor SHLVL=1 He has sh.exe in /bin (/cygdrive/d/Projects/cygwin/bin). I can reproduce the problem on my system by renaming sh.exe and he assures me that typing ''/bin/sh'' at the bash prompt works. I've read the section about SHELL in the GNU make manual at http://www.gnu.org/manual/make/html_chapter/make_5.html#SEC54 and everything seems to be correct. One other thing, probably as a result of SHELL being cmd.exe, is that some paths in the output from make -p are in quotes, e.g.: # makefile (from `client.mk', line 87) TOPSRCDIR := "/cygdrive/d/Projects/mozilla" line 87 in client.mk being: TOPSRCDIR := $(shell echo "$(TOPSRCDIR)" | sed -e 's%//%/%') I'm stumped. What have I/we missed? Can anyone suggest anything else to try? Thanks. Regards, Parish -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/