Skip to content

Hadrian inexplicably rebuilds when output is redirected

Hadrian somehow includes knowledge of whether stdout/stderr are a terminal or not in its recompilation check. For instance,

$ hadrian/build-cabal -j9

[build proceeds, finishes]

$ hadrian/build-cabal -j9  >& log

[build starts afresh, finishes]

$ hadrian/build-cabal -j9

[build yet again starts afresh, finishes]

This is a rather serious issue as it makes debugging extremely painful.

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