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
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
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> 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]
Sent: 01 October 2013 19:05
To: Simon Peyton-Jones
Cc: Edsko de Vries;
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> 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] On Behalf Of Edsko
| de Vries
| Sent: 01 October 2013 16:21
| To: 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
| http://www.haskell.org/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs