id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
4469,recompilation or build system bug,igloo,,"
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
}}}
",bug,closed,normal,7.0.2,Build System,6.12.3,fixed,,,Unknown/Multiple,Unknown/Multiple,None/Unknown,,,,,
