Compile broken on new MSYS2
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.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.0.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |