Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information