[GHC] #13315: Compile broken on new MSYS2

GHC ghc-devs at haskell.org
Wed Feb 22 07:53:36 UTC 2017


#13315: Compile broken on new MSYS2
-------------------------------------+-------------------------------------
           Reporter:  Phyx-          |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  high           |         Milestone:
          Component:  Build System   |           Version:  8.0.1
           Keywords:                 |  Operating System:  Windows
       Architecture:                 |   Type of failure:  Building GHC
  Unknown/Multiple                   |  failed
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 February comes with a major change in behavior for MSYS2/Cygwin.
 Tools such as awk/sed etc now use binary mode unless on a text mount:
 https://cygwin.com/ml/cygwin-announce/2017-02/msg00036.html

 This is problematic because GHC etc only use the underlying OS to
 determine
 how to output line endings. As such we output \r\n but in sed et al $ will
 no longer match line endings. Which means out scripts are currently
 broken.

 The build will fail with errors such as

 {{{
 [00:09:33][Step 2/6] utils/hp2ps/dist/build/.depend.c_asm:2: *** missing
 separator.  Stop.
 [00:09:33][Step 2/6] make: *** [Makefile:125: all] Error 2
 }}}

 This is because the `--make-depends` output from GHC will write a file
 using `\r\n` newlines which `sed` et al will no longer match with `$`.

 This change is pretty catastrophic in that it also applies to piped data
 from stdout/stderr.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13315>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list