Dear GHC-dev friends Does anyone feel able help me with this (below)? I'm a bit clueless, and I really think we should have a working Windows build going! It would be so great to have someone who could give the Windows build some love. But meanwhile, just extricating me from my helpless puddle would be terrific. Simon From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Simon Peyton-Jones Sent: 02 October 2013 20:40 To: Kyra Alex Cc: ghc-devs@haskell.org<mailto:ghc-devs@haskell.org> Subject: RE: Make spins with THREADS>1 on Win 7 Summary: progress on Windows builds, but a show-stopper below that I'm sure some ghc-dev can help with. Ah, I've forgotten to mention that the environment variable MSYSTEM must be set to MINGW before starting the shell Oh, this is much better. * The download from msys2 already includes o python o git o perl o make o autoconf o ssh which saves a bunch of secondary installation goop. * Once I set MSYSYSTEM=MINGW, things went much much better. GHC built to completion. * make -j works fine! * A bizarre 10-second delay when starting a shell has gone away So I am very happy. Two things I'm stuck on. In testsuite I get this: testsuite (master)$ make make -C ./tests all make[1]: Entering directory '/cygdrive/c/code/HEAD/testsuite/tests' python2 ../driver/runtests.py -e ghc_compiler_always_flags="'-fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts '" -e ghc_debugged=False -e ghc_with_native_codegen=1 -e ghc_with_vanilla=1 -e ghc_with_dynamic=0 -e ghc_with_profiling=0 -e ghc_with_threaded_rts=1 -e ghc_with_dynamic_rts=0 -e ghc_with_interpreter=1 -e ghc_unregisterised=0 -e ghc_dynamic_by_default=False -e ghc_dynamic=False -e ghc_with_smp=1 -e ghc_with_llvm=0 -e windows=True -e darwin=False -e in_tree_compiler=True -e clean_only=False --rootdir=. --config=../config/ghc -e 'config.confdir="../config"' -e 'config.compiler="C:/code/HEAD/inplace/bin/ghc-stage2.exe"' -e 'config.ghc_pkg="C:/code/HEAD/inplace/bin/ghc-pkg.exe"' -e 'config.hp2ps="C:/code/HEAD/inplace/bin/hp2ps.exe"' -e 'config.hpc="C:/code/HEAD/inplace/bin/hpc.exe"' -e 'config.gs="gs"' -e 'config.platform="i386-unknown-mingw32"' -e 'config.os="mingw32"' -e 'config.arch="i386"' -e 'config.wordsize="32"' -e 'default_testopts.cleanup=""' -e 'config.timeout=int() or config.timeout' -e 'config.timeout_prog="../timeout/install-inplace/bin/timeout.exe"' -e 'config.exeext=".exe"' -e 'config.top="C:/code/HEAD/testsuite"' --rootdir=../../libraries/Win32/tests --rootdir=../../libraries/array/tests --rootdir=../../libraries/base/tests --rootdir=../../libraries/binary/tests --rootdir=../../libraries/bytestring/tests --rootdir=../../libraries/containers/tests --rootdir=../../libraries/directory/tests --rootdir=../../libraries/filepath/tests --rootdir=../../libraries/ghc-prim/tests --rootdir=../../libraries/haskeline/tests --rootdir=../../libraries/hpc/tests --rootdir=../../libraries/old-time/tests --rootdir=../../libraries/pretty/tests --rootdir=../../libraries/process/tests --rootdir=../../libraries/random/tests --rootdir=../../libraries/template-haskell/tests --rootdir=../../libraries/vector/tests Traceback (most recent call last): File "../driver/runtests.py", line 146, in <module> import ctypes File "/usr/lib/python2.7/ctypes/__init__.py", line 451, in <module> pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2]) File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__ self._handle = _dlopen(self._name, mode) OSError: No such file or directory ../mk/test.mk:238: recipe for target 'test' failed And indeed there is no "ctypes.py", although there is a directory ctypes in c:/fp/Python27/Lib/ctypes, which contains __init__.py __init__.pyc _endian.py _endian.pyc macholib test util.py wintypes.py But runtests.py says "import ctypes" and that's what is failing. I don't know how it worked before. Can anyone help? I'm so close! Less importantly, but annoyingly, every run of perl, even perl -versoin, gives this: perl --version perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "ENG" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). This is perl 5, version 18, subversion 1 (v5.18.1) built for msys-thread-multi-64int It's non-fatal, but annoying. Thanks Simon From: Kyra Alex [mailto:meurglys3@gmail.com] Sent: 02 October 2013 07:45 To: Simon Peyton-Jones Cc: Edsko de Vries; ghc-devs@haskell.org<mailto:ghc-devs@haskell.org> Subject: Re: Make spins with THREADS>1 on Win 7 Ah, I've forgotten to mention that the environment variable MSYSTEM must be set to MINGW before starting the shell as is in mingw_shell.bat: set MSYSTEM=MINGW. msys2_shell.bat set it to MSYS thus making it answer "msys". On Wed, Oct 2, 2013 at 1:59 AM, Simon Peyton-Jones <simonpj@microsoft.com<mailto:simonpj@microsoft.com>> wrote: http://sourceforge.net/projects/msys2/ is *much* better than stock msys. I've successfully built ghc HEAD quite recently (a month ago or so) using it. Interesting! There appears to be about zero documentation, but I unpacked the tar ball (which has pre-built binaries), put it in c:/msys32, added c:/mys32/bin to my PATH, and tried. Starts well, but two problems. * I get lots of this (non-fatally): perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LC_ALL = (unset), LANG = "ENG" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). * But then I get this error which brings things to a halt: checking for gfind... no checking for find... /usr/bin/find checking for sort... /usr/bin/sort checking for GHC version date... inferred 7.7.20131001 checking for ghc... /cygdrive/c/fp/HP-2013.2.0.0/bin/ghc checking version of ghc... 7.6.3 GHC path canonicalised to: /cygdrive/c/fp/HP-2013.2.0.0/bin/ghc checking build system type... Invalid configuration `i686-pc-msys': system `msys' not recognized configure: error: /bin/sh ./config.sub i686-pc-msys failed Does anyone have ideas for fixing this? Kyra, how did you get past these? Simon From: Kyra Alex [mailto:meurglys3@gmail.com<mailto:meurglys3@gmail.com>] Sent: 01 October 2013 19:05 To: Simon Peyton-Jones Cc: Edsko de Vries; ghc-devs@haskell.org<mailto:ghc-devs@haskell.org> Subject: Re: Make spins with THREADS>1 on Win 7 http://sourceforge.net/projects/msys2/ is *much* better than stock msys. I've successfully built ghc HEAD quite recently (a month ago or so) using it. On Tue, Oct 1, 2013 at 7:24 PM, Simon Peyton-Jones <simonpj@microsoft.com<mailto:simonpj@microsoft.com>> wrote: Yes; it appears that in the current MSYS release, 'make -jn' goes into an infinite loop. This is very depressing. I do not know a fix. If you google around and find a fix, do tell us. Currently I have to use THREADS=1 all the time Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces@haskell.org<mailto:ghc-devs-bounces@haskell.org>] On Behalf Of Edsko | de Vries | Sent: 01 October 2013 16:21 | To: ghc-devs@haskell.org<mailto:ghc-devs@haskell.org> | Subject: Make spins with THREADS>1 on Win 7 | | Hi all, | | Trying to get a build going on Win 7. On both the 32-bit and the | 64-bit version running 'sh validate' stalls at | | "inplace/bin/mkdirhier" utils/touchy/dist/build/tmp//. | | At this point nothing happens, other than that I seem to have 100% CPU | usage; 'ps' only shows two make processes, but no further | subprocesses. Not sure what's going on here. Running 'sh validate | --no-clean' after killing both make processes at this point stalls at | the same point; running it with THREADS=1 seems to resolve the issue. | | Anybody any idea what might be going on? | | Edsko | _______________________________________________ | ghc-devs mailing list | ghc-devs@haskell.org<mailto:ghc-devs@haskell.org> | http://www.haskell.org/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org<mailto:ghc-devs@haskell.org> http://www.haskell.org/mailman/listinfo/ghc-devs