Build errors: awkward "no rule to make target" errors where there ARE rules
I downloaded the GHC source with:
wget http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-src.tar.bz2
Then, I did the following:
tar -xjf ghc-6.6.1-src.tar.bz2 && cd ghc-6.6.1 && ./configure && make
The full session-log can be found at the bottom of this message, but I wanted to point out a few things first. The response to the above ends in:
/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/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 -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/usr/src/ghc-6.6.1/compiler'
make: *** [stage1] Error 1
However, there IS a rule for /local/usr/src/ghc-6.6.1/includes/DerivedConstants.h. Thus, after the initial error listed above, I continue by saying:
cd includes && make && cd .. && make
The build continues beyond where it broke down before and makes it up to stage 2 now, but breaks with:
../utils/mkdirhier/mkdirhier stage2
make[2]: ../utils/mkdirhier/mkdirhier: Command not found
make[2]: *** [stage_dirs] Error 127
make[2]: Leaving directory `/local/usr/src/ghc-6.6.1/compiler'
make[1]: *** [stage2] Error 2
make[1]: Leaving directory `/local/usr/src/ghc-6.6.1'
make: *** [bootstrap2] Error 2
Again, there is a rule to build mkdirhier, so, I recap with:
cd utils/mkdirhier && make && cd ../.. && make
Now, it breaks down with:
../utils/ghc-pkg/ghc-pkg-inplace update - --force-files <package.conf.inplace
/bin/sh: ../utils/ghc-pkg/ghc-pkg-inplace: No such file or directory
make[2]: *** [../driver/stamp-pkg-conf-ghc] Error 127
make[2]: Leaving directory `/local/usr/src/ghc-6.6.1/compiler'
make[1]: *** [stage2] Error 2
make[1]: Leaving directory `/local/usr/src/ghc-6.6.1'
make: *** [bootstrap2] Error 2
I haven't really gotten beyond this point, because ghc-pkg-inplace fails to build for me. Since I presume the initial make shouldn't even have broken, I won't continue this chronological report, but simply list relevant information for the first make-break.
I'm on a Intel Pentium 4 machine, running SuSE Linux 10.0. Some commands and their responses:
uname -a: Linux <host-name-omitted> 2.6.13-15.12-smp #1 SMP Thu Aug 24 11:23:58 UTC 2006 i686 i686 i386 GNU/Linux
gcc -v:
Using built-in specs.
Target: i586-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,f95,java,ada --disable-checking --with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-java-awt=gtk --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --without-system-libunwind --host=i586-suse-linux
Thread model: posix
gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
make -v: GNU Make 3.80
The output of the complete "./configure && make" operation is attached.
Trac metadata
Trac field | Value |
---|---|
Version | 6.6.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Build System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |