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

Reply via email to