Hi there!
I'm trying to build ghc from scratch
under Windows XP... which gives me
problems, problems,
problems...
Steps taken:
1. Installed latest ghc (v5.04.3)
2.
Installed happy (v1.13)
3. Unpacked current ghc source distribution
(ghc-5.04.3-src.tar.bz2) to
c:/build/ghc
4. Downloaded the latest
Cygwin distribution and installed it to c:/cygwin
5. Got latest MinGW
distribution (MinGW-2.0.0-3.exe) and installed it to
c:/MinGW
6. Added
/cygdrive/c/MinGW/bin to path in /etc/profile
7. Started Cygwin
bash
8. Changed directory to /cygdrive/c/build/ghc
9.
Entered
"./configure --host=i386-unknown-mingw32
--with-gcc=/cygdrive/c/MinGW/bin/gc
c". No errors occurred.
--- snip
---
$
./configure --host=i386-unknown-mingw32
--with-gcc=/cygdrive/c/MinGW/bin/gcc
creating cache ./config.cache
***
The top of your build tree is: /cygdrive/c/build/ghc
checking host system
type... i386-unknown-mingw32
checking target system type...
i386-unknown-mingw32
checking build system type...
i386-unknown-mingw32
Canonicalised to: i386-unknown-mingw32
checking for
ghc... /cygdrive/c/ghc/ghc-5.04.3/bin/ghc
checking version of ghc...
5.04.3
checking for nhc... no
checking for nhc98... no
checking for
hbc... no
checking whether #! works in shell scripts... yes
checking for
perl... /bin/perl
checking if your perl works in shell scripts...
yes
checking for gcc... /cygdrive/c/MinGW/bin/gcc
checking whether the C
compiler (/cygdrive/c/MinGW/bin/gcc ) works... yes
checking whether the
C compiler (/cygdrive/c/MinGW/bin/gcc ) is a
cross-compile
r...
no
checking whether we are using GNU C... yes
checking whether
/cygdrive/c/MinGW/bin/gcc accepts -g... yes
checking whether you have an ok
gcc... yes
checking how to run the C preprocessor...
/cygdrive/c/MinGW/bin/gcc -E
checking whether /cygdrive/c/MinGW/bin/gcc
accepts -mno-cygwin... yes
checking for ok way to do context diffs... diff -C
1
checking for find... /usr/bin/find
checking for bison... no
checking
for byacc... no
checking if it is an OK yacc... checking for what...
:
yacc
checking for flex... flex
checking for a BSD compatible
install... /usr/bin/install -c
checking for ar...
/cygdrive/c/MinGW/bin/ar
checking whether ln -s works... yes
checking for
sed... /usr/bin/sed
checking for time... /usr/bin/time
checking for
gtar... no
checking for tar... /usr/bin/tar
checking for gzip...
/usr/bin/gzip
checking for openjade... no
checking for jade...
no
checking for DocBook CATALOG... no
Warning: You will not be able to
build the documentation.
checking for happy...
/cygdrive/c/happy/happy-1.13/bin/happy
checking for version of happy...
1.13
checking for haddock... no
checking for ANSI C header files...
yes
checking for Files.h... no
checking for arpa/inet.h... no
checking
for assert.h... yes
checking for console.h... no
checking for ctype.h...
yes
checking for dirent.h... yes
checking for errno.h... yes
checking
for fcntl.h... yes
checking for float.h... yes
checking for ftw.h...
no
checking for grp.h... no
checking for ieee754.h... no
checking for
inttypes.h... yes
checking for limits.h... yes
checking for malloc.h...
yes
checking for memory.h... yes
checking for nlist.h... no
checking
for pascal.h... no
checking for pwd.h... no
checking for sgtty.h...
no
checking for siginfo.h... no
checking for signal.h... yes
checking
for stat.h... no
checking for stdint.h... yes
checking for stdlib.h...
yes
checking for stddef.h... yes
checking for stdarg.h... yes
checking
for string.h... yes
checking for sys/fault.h... no
checking for
sys/file.h... yes
checking for sys/ioctl.h... no
checking for
sys/limits.h... no
checking for sys/mman.h... no
checking for
sys/param.h... yes
checking for sys/procfs.h... no
checking for
sys/resource.h... no
checking for sys/signal.h... no
checking for
sys/socket.h... no
checking for netdb.h... no
checking for netinet/in.h...
no
checking for netinet/tcp.h... no
checking for sys/stat.h...
yes
checking for sys/syscall.h... no
checking for sys/time.h...
yes
checking for sys/timeb.h... yes
checking for sys/timers.h...
no
checking for sys/times.h... no
checking for sys/types.h...
yes
checking for sys/un.h... no
checking for sys/utsname.h...
no
checking for sys/vadvise.h... no
checking for sys/wait.h...
no
checking for termio.h... no
checking for termios.h... no
checking
for time.h... yes
checking for types.h... no
checking for unistd.h...
yes
checking for utime.h... no
checking for values.h... yes
checking
for vfork.h... no
checking for bfd.h... yes
checking for winsock.h...
yes
checking for pthread.h... no
checking for sys/uio.h... no
checking
for readline/readline.h... no
checking for readline/history.h...
no
checking for dos.h... yes
checking for conio.h... yes
checking for
io.h... yes
checking for std.h... no
checking for windows.h...
yes
checking for GL/gl.h... yes
checking whether time.h and sys/time.h may
both be included... yes
checking for dlfcn.h... no
checking for dl.h...
no
checking for alloc.h... no
checking for malloc.h... (cached)
yes
checking for valloc... no
checking for regex.h... no
checking
whether struct tm is in sys/time.h or time.h... time.h
checking for tm_zone
in struct tm... no
checking for tzname... no
checking timezone...
yes
checking type of timezone... time_t
checking altzone... no
checking
for st_blksize in struct stat... no
checking whether
/cygdrive/c/MinGW/bin/gcc supports long long types... yes
checking for
msg_accrights in struct msghdr... no
checking for msg_control in struct
msghdr... no
checking size of char... 1
checking size of double...
8
checking size of float... 4
checking size of int... 4
checking size
of long... 4
checking size of long long... 8
checking size of short...
2
checking size of unsigned char... 1
checking size of unsigned int...
4
checking size of unsigned long... 4
checking size of unsigned long
long... 8
checking size of unsigned short... 2
checking size of void *...
4
checking alignment of char... 1
checking alignment of double...
8
checking alignment of float... 4
checking alignment of int...
4
checking alignment of long... 4
checking alignment of long long...
8
checking alignment of short... 2
checking alignment of unsigned char...
1
checking alignment of unsigned int... 4
checking alignment of unsigned
long... 4
checking alignment of unsigned long long... 8
checking alignment
of unsigned short... 2
checking alignment of void *... 4
checking Haskell
type for char... Int8
checking Haskell type for signed char...
Int8
checking Haskell type for unsigned char... Word8
checking Haskell
type for short... Int16
checking Haskell type for unsigned short...
Word16
checking Haskell type for int... Int32
checking Haskell type for
unsigned int... Word32
checking Haskell type for long... Int32
checking
Haskell type for unsigned long... Word32
checking Haskell type for long
long... Int64
checking Haskell type for unsigned long long...
Word64
checking Haskell type for float... Float
checking Haskell type for
double... Double
checking Haskell type for ptrdiff_t... Int32
checking
Haskell type for size_t... Word32
checking Haskell type for wchar_t...
Word16
checking Haskell type for sig_atomic_t... Int32
checking Haskell
type for clock_t... Int32
checking Haskell type for time_t...
Int32
checking Haskell type for dev_t... Word32
checking Haskell type for
ino_t... Int16
checking Haskell type for mode_t... Word16
checking Haskell
type for off_t... Int32
checking Haskell type for pid_t... Int32
checking
Haskell type for gid_t... NotReallyAType
checking Haskell type for uid_t...
NotReallyAType
checking Haskell type for cc_t... NotReallyAType
checking
Haskell type for speed_t... NotReallyAType
checking Haskell type for
tcflag_t... NotReallyAType
checking Haskell type for nlink_t...
NotReallyAType
checking Haskell type for ssize_t...
NotReallyAType
checking whether we can open files in binary mode...
no
checking return type of signal handlers... void
checking for
strcasecmp... yes
checking for _stricmp... yes
checking for stricmp...
yes
checking for strcmpi... yes
checking for strcmp... yes
checking for
realpath... no
checking for _fullpath... yes
checking for PBHSetVolSync...
no
checking for macsystem... no
checking for fgetpos... yes
checking
for fsetpos... yes
checking for fseek... yes
checking for ftell...
yes
checking for vsnprintf... yes
checking for _vsnprintf...
yes
checking for snprintf... yes
checking for _snprintf... yes
checking
for popen... yes
checking for _popen... yes
checking for pclose...
yes
checking for _pclose... yes
checking for access... yes
checking for
ftime... yes
checking for getclock... no
checking for getpagesize...
yes
checking for getrusage... no
checking for gettimeofday...
no
checking for mktime... yes
checking for mprotect... yes
checking for
readlink... no
checking for setitimer... no
checking for stat...
yes
checking for lstat... no
checking for symlink... no
checking for
sysconf... no
checking for timelocal... no
checking for times...
no
checking for vadvise... no
checking for vfork... no
checking for
localtime_r... no
checking for gmtime_r... no
checking for readdir_r...
no
checking for __gmpz_fdiv_qr in -lgmp... no
checking for __gmpz_fdiv_qr
in -lgmp3... no
checking for closedir in -lmingwex... yes
checking for GNU
regex in libc... no
checking for xmalloc in -liberty... yes
checking for
bfd_init in -lbfd... yes
checking for tputs in -lncurses... no
checking
for tputs in -ltermcap... no
checking for tputs in -lcurses... no
checking
for main in -lm... yes
checking for library containing glEnd...
no
checking for library containing gluNewQuadric... no
checking for
library containing glXWaitX... no
checking for library containing
glutMainLoop... no
checking OpenGL flags...
checking OpenGL
libs... -lX11 -lXext -lXmu -lXt -lXi -lm
dl: not
found
checking for dlopen in -ldl... no
checking for dlopen...
no
checking for RTLD_NEXT from dlfcn.h... no
checking for RTLD_LOCAL from
dlfcn.h... no
checking for function_atan... yes
checking for in_addr_t in
netinet/in.h... no
checking for gtk-config... no
checking for
gtk12-config... no
configure: warning: GTK+ not usable; need at least version
1.2
checking for working alloca.h... no
checking for alloca...
yes
checking for working const... yes
checking prototypes...
yes
checking whether byte ordering is bigendian... no
checking for nlist
in -lelf... no
checking leading underscore in symbol names... yes
checking
for end of text section marker... etext
checking for end of text section
marker declaration... etext asm("etext")
checking for end of data section
marker... end
checking for end of data section marker declaration...
end
checking if code section appears before data... yes
checking for ld...
/cygdrive/c/MinGW/bin/ld
checking whether ld understands -x...
yes
updating cache ./config.cache
creating ./config.status
creating
mk/config.mk
creating mk/config.h
configuring in ghc
running
/bin/sh
./configure --host=i386-unknown-mingw32
--with-gcc=/cygdrive/c/
MinGW/bin/gcc --cache-file=.././config.cache
--srcdir=.
loading cache .././config.cache
updating cache
.././config.cache
creating ./config.status
creating ghc.spec
creating
docs/index.html
--- snap ---
10. Entered "make". Some warnings
were given frequently:
--- snip ---
Warning: foreign declaration uses
deprecated non-standard syntax
--- snap ---
and
--- snip
---
Warning: .type pseudo-op used outside of .def/.endef ignored.
--- snap
---
and
--- snip ---
Warning: rest of line ignored; first ignored
character is `_'
--- snap ---
Finally there was an error:
---
snip ---
[...]
/bin/sh ./libtool --mode=link
/cygdrive/c/MinGW/bin/gcc -g -O2 -o
libgmp.la -
rpath
/usr/local/lib -version-info 4:1:1 assert.lo compat.lo
errno.lo
memory.lo
mp_set_fns.lo mp_clz_tab.lo mp_minv_tab.lo rand.lo
randclr.lo randlc.lo
randlc2x
.lo randraw.lo randsd.lo randsdui.lo
version.lo stack-alloc.lo mp_bpl.lo
extract
-dbl.lo insert-dbl.lo
mpz/abs.lo mpz/add.lo mpz/add_ui.lo mpz/addmul_ui.lo
mpz/
and.lo
mpz/array_init.lo mpz/bin_ui.lo mpz/bin_uiui.lo
mpz/cdiv_q.lo
mpz/cdiv_q_
ui.lo mpz/cdiv_qr.lo mpz/cdiv_qr_ui.lo
mpz/cdiv_r.lo mpz/cdiv_r_ui.lo
mpz/cdiv_u
i.lo mpz/clear.lo mpz/clrbit.lo
mpz/cmp.lo mpz/cmp_si.lo mpz/cmp_ui.lo
mpz/cmpab
s.lo mpz/cmpabs_ui.lo
mpz/com.lo mpz/divexact.lo mpz/dump.lo mpz/fac_ui.lo
mpz/f
div_q.lo
mpz/fdiv_q_2exp.lo mpz/fdiv_q_ui.lo mpz/fdiv_qr.lo
mpz/fdiv_qr_ui.lo
mp
z/fdiv_r.lo mpz/fdiv_r_2exp.lo mpz/fdiv_r_ui.lo mpz/fdiv_ui.lo
mpz/fib_ui.lo
mpz
/fits_sint_p.lo mpz/fits_slong_p.lo mpz/fits_sshort_p.lo
mpz/fits_uint_p.lo
mpz/
fits_ulong_p.lo mpz/fits_ushort_p.lo mpz/gcd.lo
mpz/gcd_ui.lo mpz/gcdext.lo
mpz/
get_d.lo mpz/get_si.lo mpz/get_str.lo
mpz/get_ui.lo mpz/getlimbn.lo
mpz/hamdist.
lo mpz/init.lo mpz/inp_raw.lo
mpz/inp_str.lo mpz/invert.lo mpz/ior.lo
mpz/iset.l
o mpz/iset_d.lo
mpz/iset_si.lo mpz/iset_str.lo mpz/iset_ui.lo mpz/jacobi.lo
mpz/
kronsz.lo
mpz/kronuz.lo mpz/kronzs.lo mpz/kronzu.lo mpz/lcm.lo
mpz/legendre.lo
m
pz/mod.lo mpz/mul.lo mpz/mul_2exp.lo mpz/mul_si.lo mpz/mul_ui.lo
mpz/neg.lo
mpz/
nextprime.lo mpz/out_raw.lo mpz/out_str.lo mpz/perfpow.lo
mpz/perfsqr.lo
mpz/pop
count.lo mpz/pow_ui.lo mpz/powm.lo mpz/powm_ui.lo
mpz/pprime_p.lo
mpz/random.lo
mpz/random2.lo mpz/realloc.lo mpz/remove.lo
mpz/root.lo mpz/rrandomb.lo
mpz/scan
0.lo mpz/scan1.lo mpz/set.lo
mpz/set_d.lo mpz/set_f.lo mpz/set_q.lo
mpz/set_si.l
o mpz/set_str.lo
mpz/set_ui.lo mpz/setbit.lo mpz/size.lo mpz/sizeinbase.lo
mpz/s
qrt.lo
mpz/sqrtrem.lo mpz/sub.lo mpz/sub_ui.lo mpz/swap.lo
mpz/tdiv_ui.lo
mpz/td
iv_q.lo mpz/tdiv_q_2exp.lo mpz/tdiv_q_ui.lo
mpz/tdiv_qr.lo mpz/tdiv_qr_ui.lo
mpz
/tdiv_r.lo mpz/tdiv_r_2exp.lo
mpz/tdiv_r_ui.lo mpz/tstbit.lo
mpz/ui_pow_ui.lo mp
z/urandomb.lo
mpz/urandomm.lo mpz/xor.lo mpn/mp_bases.lo
mpn/udiv.lo
mpn/umul.lo
mpn/inlines.lo mpn/add_n.lo mpn/sub_n.lo
mpn/mul_1.lo mpn/addmul_1.lo
mpn/submu
l_1.lo mpn/lshift.lo mpn/rshift.lo
mpn/diveby3.lo mpn/divrem.lo
mpn/divrem_1.lo
mpn/divrem_2.lo mpn/mod_1.lo
mpn/mod_1_rs.lo mpn/pre_mod_1.lo mpn/dump.lo
mpn/mu
l.lo mpn/mul_fft.lo
mpn/mul_n.lo mpn/mul_basecase.lo mpn/sqr_basecase.lo
mpn/ran
dom.lo
mpn/random2.lo mpn/sqrtrem.lo mpn/get_str.lo
mpn/set_str.lo
mpn/scan0.lo
mpn/scan1.lo mpn/popcount.lo mpn/hamdist.lo
mpn/cmp.lo mpn/perfsqr.lo
mpn/bdivmo
d.lo mpn/gcd_1.lo mpn/gcd.lo
mpn/gcdext.lo mpn/tdiv_qr.lo mpn/bz_divrem_n.lo
mpn
/sb_divrem_mn.lo
mpn/jacbase.lo mpn/copyi.lo mpn/copyd.lo
mkdir .libs
libtool: link:
warning: undefined symbols not allowed in
i386-unknown-mingw32 sh
ared
libraries
rm -fr .libs/libgmp.la .libs/libgmp.* .libs/libgmp.*
ar cru
.libs/libgmp.a assert.o compat.o errno.o memory.o
mp_set_fns.o
mp_clz_ta
b.o mp_minv_tab.o rand.o randclr.o randlc.o
randlc2x.o randraw.o randsd.o
randsd
ui.o version.o stack-alloc.o mp_bpl.o
extract-dbl.o insert-dbl.o mpz/abs.o
mpz/a
dd.o mpz/add_ui.o
mpz/addmul_ui.o mpz/and.o mpz/array_init.o mpz/bin_ui.o
mpz/bi
n_uiui.o
mpz/cdiv_q.o mpz/cdiv_q_ui.o mpz/cdiv_qr.o mpz/cdiv_qr_ui.o
mpz/cdiv_r.
o
mpz/cdiv_r_ui.o mpz/cdiv_ui.o mpz/clear.o mpz/clrbit.o
mpz/cmp.o
mpz/cmp_si.o
mpz/cmp_ui.o mpz/cmpabs.o mpz/cmpabs_ui.o mpz/com.o
mpz/divexact.o
mpz/dump.o mp
z/fac_ui.o mpz/fdiv_q.o mpz/fdiv_q_2exp.o
mpz/fdiv_q_ui.o mpz/fdiv_qr.o
mpz/fdiv
_qr_ui.o mpz/fdiv_r.o
mpz/fdiv_r_2exp.o mpz/fdiv_r_ui.o mpz/fdiv_ui.o
mpz/fib_ui
.o
mpz/fits_sint_p.o mpz/fits_slong_p.o mpz/fits_sshort_p.o
mpz/fits_uint_p.o
mp
z/fits_ulong_p.o mpz/fits_ushort_p.o mpz/gcd.o mpz/gcd_ui.o
mpz/gcdext.o
mpz/get
_d.o mpz/get_si.o mpz/get_str.o mpz/get_ui.o
mpz/getlimbn.o mpz/hamdist.o
mpz/in
it.o mpz/inp_raw.o mpz/inp_str.o
mpz/invert.o mpz/ior.o mpz/iset.o
mpz/iset_d.o
mpz/iset_si.o
mpz/iset_str.o mpz/iset_ui.o mpz/jacobi.o mpz/kronsz.o
mpz/kronuz.
o
mpz/kronzs.o mpz/kronzu.o mpz/lcm.o mpz/legendre.o mpz/mod.o
mpz/mul.o
mpz/mul
_2exp.o mpz/mul_si.o mpz/mul_ui.o mpz/neg.o
mpz/nextprime.o mpz/out_raw.o
mpz/ou
t_str.o mpz/perfpow.o mpz/perfsqr.o
mpz/popcount.o mpz/pow_ui.o mpz/powm.o
mpz/p
owm_ui.o mpz/pprime_p.o
mpz/random.o mpz/random2.o mpz/realloc.o
mpz/remove.o mp
z/root.o
mpz/rrandomb.o mpz/scan0.o mpz/scan1.o mpz/set.o mpz/set_d.o
mpz/set_f.
o
mpz/set_q.o mpz/set_si.o mpz/set_str.o mpz/set_ui.o mpz/setbit.o
mpz/size.o
mp
z/sizeinbase.o mpz/sqrt.o mpz/sqrtrem.o mpz/sub.o mpz/sub_ui.o
mpz/swap.o
mpz/td
iv_ui.o mpz/tdiv_q.o mpz/tdiv_q_2exp.o mpz/tdiv_q_ui.o
mpz/tdiv_qr.o
mpz/tdiv_qr
_ui.o mpz/tdiv_r.o mpz/tdiv_r_2exp.o
mpz/tdiv_r_ui.o mpz/tstbit.o
mpz/ui_pow_ui.
o mpz/urandomb.o
mpz/urandomm.o mpz/xor.o mpn/mp_bases.o mpn/udiv.o
mpn/umul.o
m
pn/inlines.o mpn/add_n.o mpn/sub_n.o mpn/mul_1.o
mpn/addmul_1.o
mpn/submul_1.o m
pn/lshift.o mpn/rshift.o mpn/diveby3.o
mpn/divrem.o mpn/divrem_1.o
mpn/divrem_2.
o mpn/mod_1.o mpn/mod_1_rs.o
mpn/pre_mod_1.o mpn/dump.o mpn/mul.o
mpn/mul_fft.o
mpn/mul_n.o
mpn/mul_basecase.o mpn/sqr_basecase.o mpn/random.o
mpn/random2.o
mpn
/sqrtrem.o mpn/get_str.o mpn/set_str.o mpn/scan0.o
mpn/scan1.o
mpn/popcount.o mp
n/hamdist.o mpn/cmp.o mpn/perfsqr.o
mpn/bdivmod.o mpn/gcd_1.o mpn/gcd.o
mpn/gcde
xt.o mpn/tdiv_qr.o
mpn/bz_divrem_n.o mpn/sb_divrem_mn.o mpn/jacbase.o
mpn/copyi.
o
mpn/copyd.o
creating libgmp.la
(cd .libs && rm -f libgmp.la
&& ln -s ../libgmp.la libgmp.la)
make[5]: Leaving directory
`/cygdrive/c/build/ghc/ghc/rts/gmp'
make[4]: Leaving directory
`/cygdrive/c/build/ghc/ghc/rts/gmp'
../utils/ghc-pkg/ghc-pkg-inplace
--update-package <rts.conf.inplace
Reading package info from stdin...
done.
Expanding embedded variables...done.
warning: can't find GHCi lib
`HSrts.o'
Saving old package config file... done.
Writing new package
config file... done.
../utils/ghc-pkg/ghc-pkg-inplace -f
../driver/package.conf --update-package
<rt
s.conf.installed
Reading
package info from stdin... done.
Expanding embedded
variables...done.
warning: can't find GHCi lib `HSrts.o'
Saving old
package config file... done.
Writing new package config file...
done.
../../ghc/compiler/ghc-inplace -optc-mno-cygwin -optc-O -optc-Wall
-optc-W -
optc
-Wstrict-prototypes -optc-Wmissing-prototypes
-optc-Wmissing-declarations -o
ptc-
Winline -optc-Waggregate-return
-optc-Wbad-function-cast -optc-Wcast-align -
optc
-I../includes -optc-I.
-optc-Iparallel -optc-DCOMPILING_RTS -optc-fomit-fram
e-po
inter -O2
-static -package-name rts -O -Rghc-timing -c Adjustor.c
-o
Adjusto
r.o
<<ghc: 629196 bytes, 2 GCs, 19832/19832 avg/max
bytes residency (1 samples),
5M
in use, 0.01 INIT (0.02 elapsed), 0.00 MUT
(0.02 elapsed), 0.02 GC (0.03
elapsed
) :ghc>>
make[2]: ***
[Adjustor.o] Error 1
make[1]: *** [all] Error 1
make[1]: Leaving directory
`/cygdrive/c/build/ghc/ghc'
make: *** [all] Error 1
--- snap
---
Thanks very much for your suggestions in
advance
Bye,
Johannes
johago@web.de