Testsuite fails at the first fence on Windows

Austin Seipp austin
Tue Oct 8 13:21:58 UTC 2013


Hm, it doesn't look like the ctypes import is failing - it looks more
like the DLL ctypes is trying to find doesn't exist? We seem to use
ctypes to talk to a windows DLL to set the Code Page for the console.

I'll look into deplying this new msys2 and fixing it. it's probably
worth just upgrading the Windows build page to refer to it instead -
seems like it's much more stable and a lot easier to use (especially
since it comes with all those handy tools!)

On Tue, Oct 8, 2013 at 7:58 AM, Simon Peyton-Jones
<simonpj at microsoft.com> wrote:
> 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
> 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
> 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>
> 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]
> Sent: 01 October 2013 19:05
> To: Simon Peyton-Jones
> Cc: Edsko de Vries; 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>
> 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] On Behalf Of Edsko
> | de Vries
> | Sent: 01 October 2013 16:21
> | To: 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
> | http://www.haskell.org/mailman/listinfo/ghc-devs
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>
>
>
>
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>



-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/



More information about the ghc-devs mailing list