
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
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