Two issues bulding ghc 6.4.1
I have encountered two issues trying to build ghc-6.4.1 from the source tarball. 1. (fixed) GNU make v 3.79 does not work (was discussed on irc yesterday: at least two people including myself got this issue), v 3.80 works. If not already in FAQ/wiki perhaps worth including. 2. Error while assembling (or mangling?) ForeignObj.lhs; fragments of make output below (long lines wrapped/truncated, the whole file is too long to post it here but I'll provide it if needed): ======================================================================= ------------------------------------------------------------------------ ../../ghc/compiler/ghc-inplace -M -optdep-f -optdep.depend -optdep-s -optdepp -osuf o -H16m -O -ign <<ghc: 13519236 bytes, 3 GCs, 92336/92336 avg/max bytes residency (1 samples), 16M in use, 0.02 INIT ( ------------------------------------------------------------------------ ==fptools== make boot -wr; in /home/dima_ext/ghc-6.4.1/hslibs/doc ------------------------------------------------------------------------ ------------------------------------------------------------------------ ===fptools== Finished making `boot' in lang concurrent posix util data text net hssource doc ... PWD = /home/dima_ext/ghc-6.4.1/hslibs ------------------------------------------------------------------------ make[1]: Leaving directory `/home/dima_ext/ghc-6.4.1/hslibs' make[1]: Entering directory `/home/dima_ext/ghc-6.4.1/hslibs' ------------------------------------------------------------------------ ===fptools== Recursively making `all' in lang concurrent posix util data text net hssource doc ... PWD = /home/dima_ext/ghc-6.4.1/hslibs ------------------------------------------------------------------------ ------------------------------------------------------------------------ ==fptools== make all -wr; in /home/dima_ext/ghc-6.4.1/hslibs/lang ------------------------------------------------------------------------ ------------------------------------------------------------------------ ===fptools== Recursively making `all' for ways: p ... PWD = /home/dima_ext/ghc-6.4.1/hslibs/lang ------------------------------------------------------------------------ ------------------------------------------------------------------------ ==fptools== make way=p all; PWD = /home/dima_ext/ghc-6.4.1/hslibs/lang ------------------------------------------------------------------------ rm -f ForeignObj.p_o; if [ ! -d ForeignObj_split ]; then mkdir ForeignObj_split; else /usr/bin/find Fo ../../ghc/compiler/ghc-inplace -H16m -O -cpp -fglasgow-exts -Icbits -imonads -ignore-package lang -O - ForeignObj.lhs:98:0: Warning: Module `Addr' is deprecated: This library will go away soon; use Foreign.Ptr instead ForeignObj.lhs:98:0: Warning: Deprecated use of data constructor `A#' (imported from Addr): This library will go away soon; use Foreign.Ptr instead ForeignObj.lhs:98:0: Warning: Deprecated use of `addrToPtr' (imported from Addr): This library will go away soon; use Foreign.Ptr instead [more deprecated API warnings follow] ForeignObj.lhs:98:0: Warning: Deprecated use of type constructor or class `Addr' (imported from Addr): This library will go away soon; use Foreign.Ptr instead ForeignObj.lhs:136:0: Warning: foreign declaration uses deprecated non-standard syntax ghc-asm: (mangler) still have jump involving %edi! pushl 4(%esi) call EnterFunCCS addl $4,%esp cmpl $0,era je .L580 movl 8(%esi),%eax andl $1073709056,%eax orl $1073741824,%eax [more assembly language follows] movl %eax,CCCS jmp *(%ebp) .align 4 .L582: jmp *-4(%ebx) .Lfe5: <<ghc: 92002572 bytes, 15 GCs, 2799244/5043524 avg/max bytes residency (3 samples), 17M in use, 0.01 I make[3]: *** [ForeignObj.p_o] Error 255 make[2]: *** [all] Error 1 make[1]: *** [all] Error 1 make[1]: Leaving directory `/home/dima_ext/ghc-6.4.1/hslibs' make: *** [build] Error 1 ======================================================================================================= What was used: GHC to bootstrap: bash$ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.2.2 bash$ gcc --version egcs-2.91.66 bash$ as --version GNU assembler 2.9.1 Copyright 1997 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. This assembler was configured for a target of `i386-slackware-linux'. Has anyone else had this? Earlier, GHC 6.2.2 built with these tools OK. Thanks for any ideas. Dimitry
Dimitry Golubovsky wrote:
2. Error while assembling (or mangling?) ForeignObj.lhs; fragments of make output below (long lines wrapped/truncated, the whole file is too long to post it here but I'll provide it if needed):
This one has been fixed by installing gcc-2.95.2 and building using it. I am not very much familiar with the new GHC Wiki; does there exist a page on "tools compatibility" or similar? Dimitry
Dimitry Golubovsky wrote:
2. Error while assembling (or mangling?) ForeignObj.lhs; fragments of make output below (long lines wrapped/truncated, the whole file is too long to post it here but I'll provide it if needed):
Could it be that "sed" chops of some lines and "perl" should be used instead? Another problem (I've encountered some times) might be a final missing newline.
This one has been fixed by installing gcc-2.95.2 and building using it.
You seem to have an old system. Why do you not stay with ghc-6.2.2? Doesn't a binary ghc-6.4.1 installation work? Christian
Dimitry Golubovsky wrote:
I have encountered two issues trying to build ghc-6.4.1 from the source tarball.
1. (fixed) GNU make v 3.79 does not work (was discussed on irc yesterday: at least two people including myself got this issue), v 3.80 works. If not already in FAQ/wiki perhaps worth including.
Thanks, I've added this to the building guide and added a test to the build system to detect 3.79 and complain.
2. Error while assembling (or mangling?) ForeignObj.lhs; fragments of make output below (long lines wrapped/truncated, the whole file is too long to post it here but I'll provide it if needed):
This one looks like a bad interaction between your gcc version and the mangler. Probably not worth investigating in detail, since you already worked around it by installing an updated gcc.
I am not very much familiar with the new GHC Wiki; does there exist a page on "tools compatibility" or similar?
Not yet, there's a page in the building guide: http://www.haskell.org/ghc/docs/latest/html/building/sec-pre-supposed.html It would probably be a good idea to move all this material into the Wiki at some point. Cheers, Simon
Dimitry Golubovsky wrote:
I have encountered two issues trying to build ghc-6.4.1 from the source tarball.
1. (fixed) GNU make v 3.79 does not work (was discussed on irc yesterday: at least two people including myself got this issue), v 3.80 works. If not already in FAQ/wiki perhaps worth including.
Just to check: was it 3.79, or 3.79.1 that caused problems for you? We have been using 3.79.1 here without problems for quite some time. Cheers, Simon
participants (3)
-
Christian Maeder -
Dimitry Golubovsky -
Simon Marlow