Building on Windows with msys

Simon Marlow marlowsd at gmail.com
Wed Sep 4 10:03:56 UTC 2013


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 at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>





More information about the ghc-devs mailing list