Make spins with THREADS>1 on Win 7
Simon Peyton-Jones
simonpj
Wed Oct 2 19:40:28 UTC 2013
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 at gmail.com]
Sent: 02 October 2013 07:45
To: Simon Peyton-Jones
Cc: Edsko de Vries; ghc-devs at 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 at microsoft.com<mailto:simonpj at 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 at gmail.com<mailto:meurglys3 at gmail.com>]
Sent: 01 October 2013 19:05
To: Simon Peyton-Jones
Cc: Edsko de Vries; ghc-devs at haskell.org<mailto:ghc-devs at 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 at microsoft.com<mailto:simonpj at 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 at haskell.org<mailto:ghc-devs-bounces at haskell.org>] On Behalf Of Edsko
| de Vries
| Sent: 01 October 2013 16:21
| To: ghc-devs at haskell.org<mailto:ghc-devs at 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 at haskell.org<mailto:ghc-devs at haskell.org>
| http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs at haskell.org<mailto:ghc-devs at haskell.org>
http://www.haskell.org/mailman/listinfo/ghc-devs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131002/7b313f77/attachment-0001.html>
More information about the ghc-devs
mailing list