Skip to content

Recompilation is a bit broken with hs-boot files

Consider the following 4 modules.

https://gist.github.com/mpickering/7b0e181caab30e265f092f78505a35a2

Recompilation warns about a "missing old dependency" when compiling M despite nothing being changed.

[nix-shell:~/ghc-hash-builds]$ ghci M.hs -fwrite-interface -fno-code
GHCi, version 8.10.2: https://www.haskell.org/ghc/  :? for help
[1 of 4] Compiling O                ( O.hs, nothing )
[2 of 4] Compiling N[boot]          ( N.hs-boot, nothing )
[3 of 4] Compiling N                ( N.hs, nothing )
[4 of 4] Compiling M                ( M.hs, nothing )
Ok, four modules loaded.
*M> :q
[nix-shell:~/ghc-hash-builds]$ ghci M.hs -fwrite-interface  -fno-code
GHCi, version 8.10.2: https://www.haskell.org/ghc/  :? for help
[4 of 4] Compiling M                ( M.hs, nothing ) [missing old dependency]
Ok, four modules loaded.
*M> 

For some reason we don't following boot dependencies in checkForNewHomeDependency which is why the error happens.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information