(Imported from Trac #665, reported by @dcoutts on 2010-04-25)
If one accidentally interrupts cabal when it's linking ./dist/setup/setup then you can end up with the file existing it not being executable.
This leads to a confusing situation for the user. Running cabal install or cabal configure will fail silently. Running with -v indicates that something returns exit code 127. This corresponds to a permission error when trying to execute ./dist/setup/setup
Two improvements could be made:
(Imported comment by @kosmikus on 2010-04-25)
See also #799.