Build faliing on Windows

Argh! Again! The Windows build is failing. Here's the error: libraries\base\System\Posix\Types.hs:179:23: Not in scope: type constructor or class `CMode' make[1]: *** [libraries/base/dist-install/build/System/Posix/Types.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Indeed base/includes/HsBaseConfig.h says /* Define to Haskell type for mode_t */ /* #undef HTYPE_MODE_T */ which means CMode doesn't get defined. The config.log file looks suspicious, note the line in red. I'm stuck Simon configure:13967: checking Haskell type for mode_t configure:13974: c:/code/HEAD/inplace/mingw/bin/gcc.exe -o conftest.exe -Wall -fno-stack-protector -Wl,--hash-size=31 -Wl,--reduce-memory-overheads conftest.c >&5 configure:13974: $? = 0 configure:13974: ./conftest.exe configure:13974: $? = 0 configure:14230: c:/code/HEAD/inplace/mingw/bin/gcc.exe -o conftest.exe -Wall -fno-stack-protector -Wl,--hash-size=31 -Wl,--reduce-memory-overheads conftest.c >&5 c:/code/HEAD/inplace/mingw/bin/ld.exe: cannot open output file conftest.exe: Permission denied collect2: ld returned 1 exit status configure:14230: $? = 1 configure: program exited with status 1 configure: failed program was:

Hmm. Re-running the configure step, and the mode_t test worked. I have no idea why. The first time it said checking Haskell type for ino_t... Int16 checking Haskell type for mode_t... not supported This time it says checking Haskell type for ino_t... Int16 checking Haskell type for mode_t... Word16 However, if success on mode_t is required (which it is) for Windows, shouldn't we get an error from configure, rather than ploughing on and only bleating later when some obscure file doesn't compile? Simon From: ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Simon Peyton-Jones Sent: 16 April 2013 21:27 To: ghc-devs@haskell.org Subject: Build faliing on Windows Argh! Again! The Windows build is failing. Here's the error: libraries\base\System\Posix\Types.hs:179:23: Not in scope: type constructor or class `CMode' make[1]: *** [libraries/base/dist-install/build/System/Posix/Types.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Indeed base/includes/HsBaseConfig.h says /* Define to Haskell type for mode_t */ /* #undef HTYPE_MODE_T */ which means CMode doesn't get defined. The config.log file looks suspicious, note the line in red. I'm stuck Simon configure:13967: checking Haskell type for mode_t configure:13974: c:/code/HEAD/inplace/mingw/bin/gcc.exe -o conftest.exe -Wall -fno-stack-protector -Wl,--hash-size=31 -Wl,--reduce-memory-overheads conftest.c >&5 configure:13974: $? = 0 configure:13974: ./conftest.exe configure:13974: $? = 0 configure:14230: c:/code/HEAD/inplace/mingw/bin/gcc.exe -o conftest.exe -Wall -fno-stack-protector -Wl,--hash-size=31 -Wl,--reduce-memory-overheads conftest.c >&5 c:/code/HEAD/inplace/mingw/bin/ld.exe: cannot open output file conftest.exe: Permission denied collect2: ld returned 1 exit status configure:14230: $? = 1 configure: program exited with status 1 configure: failed program was:

On Tue, Apr 16, 2013 at 08:34:41PM +0000, Simon Peyton-Jones wrote:
However, if success on mode_t is required (which it is) for Windows, shouldn't we get an error from configure, rather than ploughing on and only bleating later when some obscure file doesn't compile?
There are a lot of instances of that sort of thing in packages like base and unix. They'd really benefit from someone doing a sweep over them. Thanks Ian
participants (2)
-
Ian Lynagh
-
Simon Peyton-Jones