recompilation or build system bug
First reported here: http://www.haskell.org/pipermail/cvs-ghc/2010-November/057293.html
If you add INLINE
pragmas to fromInteger
and toEnum
for Word8
and run make
in the ghc
subdirectory, the build fails with:
"inplace/bin/ghc-stage1" -o ghc/stage2/build/tmp/ghc-stage2 -H32m -O -Wall -H64m -O0 -i -ighc/. -ighc/stage2/build -ighc/stage2/build/autogen -Ighc/stage2/build -Ighc/stage2/build/autogen -O2 -O -DGHCI -threaded -package ghc-7.1.20101102 -package haskeline -XCPP -XPatternGuards -XForeignFunctionInterface -XUnboxedTuples -XFlexibleInstances -XMagicHash -no-user-package-conf -rtsopts -odir ghc/stage2/build -hidir ghc/stage2/build -stubdir ghc/stage2/build -hisuf hi -osuf o -hcsuf hc ghc/stage2/build/Main.o ghc/stage2/build/GhciMonad.o ghc/stage2/build/GhciTags.o ghc/stage2/build/InteractiveUI.o ghc/stage2/build/hschooks.o
/home/ian/ghc/darcs/ghc/libraries/utf8-string/dist-install/build/libHSutf8-string-0.3.6.a(String.o): In function `s1eq_info':
(.text+0x18d): undefined reference to `base_GHCziWord_zdwzdctoEnum4_info'
/home/ian/ghc/darcs/ghc/libraries/utf8-string/dist-install/build/libHSutf8-string-0.3.6.a(String.o): In function `r17C_closure':
(.data+0xc8): undefined reference to `base_GHCziWord_zdwzdctoEnum4_closure'
/home/ian/ghc/darcs/ghc/libraries/utf8-string/dist-install/build/libHSutf8-string-0.3.6.a(String.o): In function `r17M_closure':
(.data+0x208): undefined reference to `base_GHCziWord_zdwzdctoEnum4_closure'
/home/ian/ghc/darcs/ghc/libraries/base/dist-install/build/libHSbase-4.3.0.0.a(Types.o):(.data+0x3188): undefined reference to `base_GHCziWord_zdfBitsWord8zuzdcfromInteger_closure'
/home/ian/ghc/darcs/ghc/libraries/base/dist-install/build/libHSbase-4.3.0.0.a(Types.o):(.data+0x29b8): undefined reference to `base_GHCziWord_zdfBitsWord8zuzdcfromInteger_closure'
collect2: ld returned 1 exit status
make[2]: *** [ghc/stage2/build/tmp/ghc-stage2] Error 1
make[1]: *** [all_ghc] Error 2
make[1]: Leaving directory `/home/ian/ghc/darcs/ghc'
make: *** [all] Error 2
Codec.Binary.UTF8.String
imports
Data.Word
imports
GHC.Word
but when running make
we got:
"inplace/bin/ghc-stage1" [...] libraries/base/./Data/Word.hs -o
libraries/base/dist-install/build/Data/Word.o
compilation IS NOT required
and the timestamps show that String
wasn't rebuilt:
14:49 libraries/base/dist-install/build/GHC/Word.o
14:49 libraries/base/dist-install/build/GHC/Word.hi
14:49 libraries/base/dist-install/build/Data/Word.o
12:33 libraries/base/dist-install/build/Data/Word.hi
12:34 libraries/utf8-string/dist-install/build/Codec/Binary/UTF8/String.o
12:34 libraries/utf8-string/dist-install/build/Codec/Binary/UTF8/String.hi
Trac metadata
Trac field | Value |
---|---|
Version | 6.12.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Build System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |