Testsuite fails at the first fence on Windows

Simon Peyton-Jones simonpj
Tue Oct 8 12:58:05 UTC 2013


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 at haskell.org] On Behalf Of Simon Peyton-Jones
Sent: 02 October 2013 20:40
To: Kyra Alex
Cc: ghc-devs at haskell.org<mailto:ghc-devs at 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 at gmail.com]
Sent: 02 October 2013 07:45
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

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/20131008/24f01511/attachment-0001.html>
-------------- next part --------------
An embedded message was scrubbed...
From: Simon Peyton-Jones <simonpj at microsoft.com>
Subject: gcc on Windows
Date: Wed, 2 Oct 2013 13:48:09 +0000
Size: 11912
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131008/24f01511/attachment-0001.mht>



More information about the ghc-devs mailing list