For whatever reason on my Windows XP machine the environment variable LIB is set to
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\ This is harmless to Windows programs but when using MakeMaker under Cygwin, the trailing backslash causes errors a bit like this: % make subdirs cd C && make -f Makefile all LIB="C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\" LIBPERL_A="libperl.a" LINKTYPE="dynamic" PREFIX="" OPTIMIZE="" PASTHRU_DEFINE="" PASTHRU_INC="" /bin/sh: -c: line 0: unexpected EOF while looking for matching `"' /bin/sh: -c: line 1: syntax error: unexpected end of file make: *** [subdirs] Error 2 The backslash at the end of the double-quoted string confuses sh. This could be fixed by putting a substitution in the Makefile: PASTHRU = LIB="$(subst \,/,${LIB})"\ ... and perhaps for other environment variables which contain paths and so might end in backslash on Cygwin. (I don't expect a pure-Win32 version of perl would be affected because it wouldn't use /bin/sh from makefiles.) Failing that, MakeMaker could simply fall over with an error message whenever it detects trailing backslashes in an environment variable it would like to mention. In principle, the same bug affects more normal Unix-like systems whenever someone puts a backslash at the end of the LIB environment variable (but who would do that?). -- Ed Avis <[EMAIL PROTECTED]> ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________