
Dear Ian, all, Even in the current release, I'm still having trouble building GHC on my linux machine. The error is still about DerivedConstants.h. I'm sorry for not following up on my last report, but I'll try and make things right with this one. curl http://www.haskell.org/ghc/dist/6.8.1/ghc-6.8.1-src.tar.bz2 | tar -xj curl http://www.haskell.org/ghc/dist/6.8.1/ghc-6.8.1-src.tar.bz2 | tar -xj cd ghc-6.8.1 sh boot ./configure &> configure.output make &> make.output The outputs are attached to this e-mail. I just wanted to note some of the highlights: The boot script still warns about underquoting (and I still don't know whether this is relevant at all): Booting . Booting libraries/base Booting libraries/directory /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal Booting libraries/old-time Booting libraries/process Booting libraries/readline Booting libraries/unix The make still fails on the absence of (a rule for) DerivedConstants.h: /usr/local/bin/ghc -H16m -O -istage1/utils -istage1/basicTypes -istage1/types -istage1/hsSyn -istage1/prelude -istage1/rename -istage1/typecheck -istage1/deSugar -istage1/coreSyn -istage1/vectorise -istage1/specialise -istage1/simplCore -istage1/stranal -istage1/stgSyn -istage1/simplStg -istage1/codeGen -istage1/main -istage1/profiling -istage1/parser -istage1/cprAnalysis -istage1/ndpFlatten -istage1/iface -istage1/cmm -istage1/nativeGen -Wall -fno-warn-name-shadowing -fno-warn-orphans -Istage1 -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -Iparser -package unix -ignore-package lang -recomp -Rghc-timing -H16M '-#include "cutils.h"' -DUSING_COMPAT -i../compat -ignore-package Cabal -c codeGen/CgPrimOp.hs -o stage1/codeGen/CgPrimOp.o -ohi stage1/codeGen/CgPrimOp.hi make[1]: *** No rule to make target `../includes/DerivedConstants.h', needed by `stage1/codeGen/CgProf.o'. Stop. make[1]: Leaving directory `/local/holzensp/src/ghc-6.8.1/compiler' make: *** [stage1] Error 1 Somewhere near the beginning of make's output, where the output for "make boot" is logged, it does seem to have created DerivedConstants.h: ../utils/mkdependC/mkdependC -f .depend -- -O -DTABLES_NEXT_TO_CODE -I. -I../rts -- mkDerivedConstants.c rm -f mkDerivedConstants.o gcc -O -DTABLES_NEXT_TO_CODE -I. -I../rts -c mkDerivedConstants.c -o mkDerivedConstants.o gcc -o mkDerivedConstantsHdr -O -DTABLES_NEXT_TO_CODE -I. -I../rts mkDerivedConstants.o ./mkDerivedConstantsHdr >DerivedConstants.h gcc -o mkGHCConstants.o -O -DTABLES_NEXT_TO_CODE -I. -I../rts -c mkDerivedConstants.c -DGEN_HASKELL gcc -o mkGHCConstants -O -DTABLES_NEXT_TO_CODE -I. -I../rts mkGHCConstants.o ./mkGHCConstants >GHCConstants.h Later in the "make all" phase, there is another mention of DerivedConstants: rm -f mkDerivedConstants.o gcc -O -DTABLES_NEXT_TO_CODE -I. -I../rts -c mkDerivedConstants.c -o mkDerivedConstants.o gcc -o mkDerivedConstantsHdr -O -DTABLES_NEXT_TO_CODE -I. -I../rts mkDerivedConstants.o ./mkDerivedConstantsHdr >DerivedConstants.h gcc -o mkGHCConstants.o -O -DTABLES_NEXT_TO_CODE -I. -I../rts -c mkDerivedConstants.c -DGEN_HASKELL gcc -o mkGHCConstants -O -DTABLES_NEXT_TO_CODE -I. -I../rts mkGHCConstants.o ./mkGHCConstants >GHCConstants.h I don't see the header file being removed anywhere, but it does indeed not show up in the includes directory. When I cheat and, after this failed build, do the following: cd includes make cd .. make the build runs until [42 of 42] and fails, saying: Configuring base-3.0.0.0... Setup: Cannot find ghc at ../../compiler/stage1/ghc-inplace or on the path rm -f base/GNUmakefile cp Makefile.local base if ifBuildable/ifBuildable base; then \ cd base && setup/Setup makefile -f GNUmakefile; \ fi Setup: error reading dist/setup-config; run "setup configure" command? This is where I currently am with trying to build GHC. I hope this serves as a decent bug report. Regards, Philip

Hi Philip, On Mon, Nov 05, 2007 at 09:58:40AM +0100, Philip K.F. Hölzenspies wrote:
Booting libraries/base Booting libraries/directory /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
I still don't understand why this would happen.
The make still fails on the absence of (a rule for) DerivedConstants.h:
[...]
Somewhere near the beginning of make's output, where the output for "make boot" is logged, it does seem to have created DerivedConstants.h:
I still don't understand why this would happen either. I can't even really think of anything useful to suggest. Anyone else got any ideas? Thanks Ian

On Sat, 2007-11-10 at 21:45 +0000, Ian Lynagh wrote:
Hi Philip,
On Mon, Nov 05, 2007 at 09:58:40AM +0100, Philip K.F. Hölzenspies wrote:
Booting libraries/base Booting libraries/directory /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
I still don't understand why this would happen.
That's not a problem in GHC's configure.ac or other .ac files. It's just that autoreconf scans all the /usr/share/aclocal/*.m4 files that you happen to have installed on your system. If any of those are from before autoconf started getting really picky about quoting then you'll get that warning. It's nothing to worry about, especially as in this case it's in a .m4 file that we do not get any definitions from. Duncan

On Sun, Nov 11, 2007 at 11:59:43AM +0000, Duncan Coutts wrote:
On Sat, 2007-11-10 at 21:45 +0000, Ian Lynagh wrote:
Hi Philip,
On Mon, Nov 05, 2007 at 09:58:40AM +0100, Philip K.F. Hölzenspies wrote:
Booting libraries/base Booting libraries/directory /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
I still don't understand why this would happen.
That's not a problem in GHC's configure.ac or other .ac files. It's just that autoreconf scans all the /usr/share/aclocal/*.m4 files that you happen to have installed on your system. If any of those are from before autoconf started getting really picky about quoting then you'll get that warning. It's nothing to worry about, especially as in this case it's in a .m4 file that we do not get any definitions from.
So why doesn't booting base cause it? Thanks Ian

On Sun, 2007-11-11 at 12:12 +0000, Ian Lynagh wrote:
On Sun, Nov 11, 2007 at 11:59:43AM +0000, Duncan Coutts wrote:
On Sat, 2007-11-10 at 21:45 +0000, Ian Lynagh wrote:
Hi Philip,
On Mon, Nov 05, 2007 at 09:58:40AM +0100, Philip K.F. Hölzenspies wrote:
Booting libraries/base Booting libraries/directory /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
I still don't understand why this would happen.
That's not a problem in GHC's configure.ac or other .ac files. It's just that autoreconf scans all the /usr/share/aclocal/*.m4 files that you happen to have installed on your system. If any of those are from before autoconf started getting really picky about quoting then you'll get that warning. It's nothing to worry about, especially as in this case it's in a .m4 file that we do not get any definitions from.
So why doesn't booting base cause it?
Dunno, but it doesn't matter anyway. It's only a warning in unused code. Duncan

Dear Ian, Duncan, all, Thank you for looking into the build failure. I actually expected that the autoconf warning didn't really matter, since I couldn't imagine any ReiserFS dependency being critical. The other error is actually quite a lot more weird and critical, for it stops the build. Regards, Philip

| That's not a problem in GHC's configure.ac or other .ac files. It's just If it's nothing to worry about, and has a sensible explanation, can someone add it to the Building GHC FAQ? (If this page doesn't exist, it ought to!) Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users-bounces@haskell.org] On Behalf Of | Duncan Coutts | Sent: 11 November 2007 12:00 | To: Ian Lynagh | Cc: Philip K.F. Hölzenspies; glasgow-haskell-users@haskell.org | Subject: Re: ANNOUNCE: GHC version 6.8.1 | | On Sat, 2007-11-10 at 21:45 +0000, Ian Lynagh wrote: | > Hi Philip, | > | > On Mon, Nov 05, 2007 at 09:58:40AM +0100, Philip K.F. Hölzenspies wrote: | > > | > > Booting libraries/base | > > Booting libraries/directory | > > /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS | > > run info '(automake)Extending aclocal' | > > or see http://sources.redhat.com/automake/automake.html#Extending-aclocal | > | > I still don't understand why this would happen. | | That's not a problem in GHC's configure.ac or other .ac files. It's just | that autoreconf scans all the /usr/share/aclocal/*.m4 files that you | happen to have installed on your system. If any of those are from before | autoconf started getting really picky about quoting then you'll get that | warning. It's nothing to worry about, especially as in this case it's in | a .m4 file that we do not get any definitions from. | | Duncan | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Ian Lynagh wrote:
Hi Philip,
On Mon, Nov 05, 2007 at 09:58:40AM +0100, Philip K.F. Hölzenspies wrote:
Booting libraries/base Booting libraries/directory /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
I still don't understand why this would happen.
The make still fails on the absence of (a rule for) DerivedConstants.h:
[...]
Somewhere near the beginning of make's output, where the output for "make boot" is logged, it does seem to have created DerivedConstants.h:
I still don't understand why this would happen either.
I can't even really think of anything useful to suggest. Anyone else got any ideas?
maybe add a test right after the creation of DerivedConstants.h in includes/Makefile: DerivedConstants.h : mkDerivedConstantsHdr ./mkDerivedConstantsHdr >$@ test -f $@ || exit 1 at least that will tell us whether it was never there to start with, or it got removed later on. If it weren't for the fact that this seems repeatable, I'd say you have need to run fsck on that filesystem. There's definitely something strange going on... Cheers, Simon

On Tuesday 13 November 2007 12:27:02 Simon Marlow wrote:
maybe add a test right after the creation of DerivedConstants.h in includes/Makefile:
DerivedConstants.h : mkDerivedConstantsHdr ./mkDerivedConstantsHdr >$@ test -f $@ || exit 1
at least that will tell us whether it was never there to start with, or it got removed later on.
If it weren't for the fact that this seems repeatable, I'd say you have need to run fsck on that filesystem. There's definitely something strange going on...
Dear Simon, All, This looks like a sensible thing to do, a makefile check. I don't expect this to be a fsck-solvable problem though, since I've tried at different times with rather different states of my filesystem (rather full, nearly empty, again rather full). Good news for me, bad news for this bug-report. My office system crashed, so I was updated from SuSE 10.0 to SuSE 10.3. GHC 6.8.1 now compiles out of the proverbial box. Although, ... I had initially forgotten to install the readline-dev package (for libreadline.a). The configure script doesn't test for linkage against readline, so make terminates because ghc-pkg-inplace doesn't have readline and libraries/readline contains a file called unbuildable. I would call this a small buildbug with a very easy fix: add readline linkage test to configure. Regards, Philip

Is is possible that by upgrading the version of gcc changed? I've had problems compiling ghc6.8.1 with some versions of gcc that have disappeared by upgrading gcc. Seth Kurtzberg Software Engineer Specializing in Security, Reliability, and the Hardware/Software Interface -----Original Message----- From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell-users-bounces@haskell.org] On Behalf Of Philip K.F. Hölzenspies Sent: Wednesday, November 14, 2007 7:17 AM To: Simon Marlow Cc: glasgow-haskell-users@haskell.org Subject: Re: ANNOUNCE: GHC version 6.8.1 On Tuesday 13 November 2007 12:27:02 Simon Marlow wrote:
maybe add a test right after the creation of DerivedConstants.h in includes/Makefile:
DerivedConstants.h : mkDerivedConstantsHdr ./mkDerivedConstantsHdr >$@ test -f $@ || exit 1
at least that will tell us whether it was never there to start with, or it got removed later on.
If it weren't for the fact that this seems repeatable, I'd say you have need to run fsck on that filesystem. There's definitely something strange going on...
Dear Simon, All, This looks like a sensible thing to do, a makefile check. I don't expect this to be a fsck-solvable problem though, since I've tried at different times with rather different states of my filesystem (rather full, nearly empty, again rather full). Good news for me, bad news for this bug-report. My office system crashed, so I was updated from SuSE 10.0 to SuSE 10.3. GHC 6.8.1 now compiles out of the proverbial box. Although, ... I had initially forgotten to install the readline-dev package (for libreadline.a). The configure script doesn't test for linkage against readline, so make terminates because ghc-pkg-inplace doesn't have readline and libraries/readline contains a file called unbuildable. I would call this a small buildbug with a very easy fix: add readline linkage test to configure. Regards, Philip _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (6)
-
Duncan Coutts
-
Ian Lynagh
-
Philip K.F. Hölzenspies
-
Seth Kurtzberg
-
Simon Marlow
-
Simon Peyton-Jones