Nice catch!
On 28/08/13 09:08, Simon Peyton-Jones wrote:
Friends
My Windows build (new laptop) got stuck again, but this time I managed
to work out what is going on. This email is just to record the issue;
I’ll add something to the wiki.
*tl;dr:* a MSYS build will fail in a deeply strange way if your MSYS bin
directory doesn’t take priority over the windows/system32 director.
*Symptom*: “sh libtool” hangs indefinitely. The process manager shows
an extant “cmd” and “sed”, but nothing else. libtool is a shell script
that comes from a tarball, and is unpacked into
libraries/integer-gmp/gmp/gmpbuild/libtool
*Cause*: libtool invokes the following command line (in the function
func_convert_coer_msys_to_w32:
cmd /c “echo blah”
and pipes the result to sed. /But MSYS mangles the command line to turn
slashes into backslashes./ So the actual command line is more like
cmd \c “echo blah”
which does something entirely different, and indeed hangs waiting for
input on stdin.
*Solution*: So how did this ever work on any MSYS installation? Because
·msys/1.0/bin has a little script “cmd” which hands off to the real
c:/windows/system32/cmd
·MSYS does not mangle the command-line for programs in msys/1.0/bin
·/On my old laptop, msys/1.0/bin was in my path before
c:/windows/system32/. So plain “cmd” gets the script, and MSYS does not
mangle the command line. The script passes arguments on unchanged to the
real cmd.
·NB: c:/windows/system32 is in the “system” path, which precedes the
“user” path. So no amount of fiddling with the “user” path will fix
this. There are two solutions:
oModify the system path
oUse a .bashrc file to prepend the stuff you need
This is pretty subtle stuff.
Simon
/Microsoft Research Limited (company number 03369488) is registered in
England and Wales /
/Registered office is at 21 Station Road, Cambridge, CB1 2FB/
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs