ghci and other test failures on Windows.

Mike Thomas mike.thomas at brisbane.paradigmgeo.com
Tue Sep 7 07:02:09 EDT 2004


Hi Simon.

| I'm betting this is because you're running the stage1 compiler instead
| of stage2.  In a STABLE tree, the stage1 compiler gets built with GHCi
| support because the build system thinks you're building with the same
| version.  When we bump the version to 6.2.2 this problem will go away.

Useful to know, thanks.

| > Explicitly using a stage 2 or 3 compiler gives the crash however:
| > $ c:/cvs/stable/i386-unknown-mingw32/ghc/compiler/stage2/ghc
| > -Bc:\\\\cvs\\\\sta
| > ble\\\\i386-unknown-mingw32  -no-recomp -dcore-lint
| > -Di386_unknown_mingw32 hClo
| > se001.hs --interactive -v0 <hClose001.script
| > ===== program output begins here
| >   ===== program output begins here
|
| Ok, I still don't get the crash.

That's unfortunate, I can't think of any other ways to fob the problem off!


| The best way to proceed would be to find the smallest program that
| crashes - preferably just an ordinary compiled program rather than GHCi.

I'll patiently check every single crash next time through but so far I
believe that the only tests which crash are ghci ones.

If so, I wonder whether the object linker could be mismanaging some feature
of gcc generated code.  For example, a few months ago I had a problem with
GCL caused by movement, at high gcc optimisation levels, of the object
module _init code from the beginning of the text section raw data -
unfortunately it escapes me whether it affected gcc 3.3.1 or not - I suspect
that it may just have been gcc 3.3.3 and 3.4.x in which case it would not be
a problem here.

|
| I wonder what's different about your setup compared to mine.  Are you
| running the latest mingw?


I'm not using the MinGW32 gcc 3.4.x series for GHC, but rather:

$ /c/lang/mingw32-3.3.1/bin/gcc --version
gcc.exe (GCC) 3.3.1 (mingw special 20030804-1)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ /c/lang/mingw32-3.3.1/bin/gcc -v
Reading specs from
c:/lang/mingw32-3.3.1/bin/../lib/gcc-lib/mingw32/3.3.1/specs
Configured with:
../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --en
able
-languages=c,c++,f77,objc,ada,java --disable-win32-registry --disable-shared
 --e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enabl
e-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchr
oniz
ation
Thread model: win32
gcc version 3.3.1 (mingw special 20030804-1)

$ /c/lang/mingw32-3.3.1/bin/ld --version
GNU ld version 2.14.90 20030807
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.



My nightly build configuration is as follows:

STAGE1_CONFIGURE_ARGS=" --prefix=c:/lang/ghc-stable --host=i386-unknown-ming
w32 --with-gcc=c:/lang/MinGW32-3.3.1/bin/gcc --enable-objectio --enable-src-
tree-alex --enable-src-tree-haddock"
STAGE1_WITH_HC=c:/lang/ghc-6.2.1/bin/ghc
STAGE1_OMIT_HSLIBS='NO'
STAGE1_HC_OPTS='-O -H32m'
STAGE1_SPLIT_OBJS='NO'
STAGE1_WAYS=

STAGE2_CONFIGURE_ARGS=$STAGE1_CONFIGURE_ARGS
STAGE2_OMIT_HSLIBS='NO'
STAGE2_HC_OPTS='-O -H32m'
STAGE2_SPLIT_OBJS='NO'
STAGE2_WAYS=

# in stage3, build what we want for the distribution
STAGE3_CONFIGURE_ARGS=$STAGE1_CONFIGURE_ARGS
STAGE3_OMIT_HSLIBS='NO'
STAGE3_HC_OPTS='-O -H32m'
STAGE3_SPLIT_OBJS='NO'
STAGE3_WAYS=

What about your setup?  I plan to be online for another hour at least
tonight, by the way.


Cheers

Mike Thomas.




More information about the Cvs-ghc mailing list