bug#34227: Non-deterministic GHC build errors

2023-01-21 Thread Lars-Dominik Braun
None of these are actual errors, but warnings. I’ve built a ton of
Haskell packages and never encountered transient errors.





bug#34227: Non-deterministic GHC build errors

2019-01-27 Thread Ludovic Courtès
Hello,

I’ve noticed something really unexpected: take a Haskell package, say
‘ghc-libmpd’, build it several times (with --rounds or --check), and
notice that sometimes it will build successfully, and other times,
you’ll get a compiler error like this:

--8<---cut here---start->8---
Configuring libmpd-0.9.0.9...
phase `configure' succeeded after 0.9 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
running "runhaskell Setup.hs" with command "build" and parameters ()
Preprocessing library for libmpd-0.9.0.9..
Building library for libmpd-0.9.0.9..
[ 1 of 36] Compiling Network.MPD.Core.Error ( src/Network/MPD/Core/Error.hs, 
dist/build/Network/MPD/Core/Error.o )

src/Network/MPD/Core/Error.hs:18:1: warning: [-Wdeprecations]
Module ‘Control.Monad.Error’ is deprecated:
  Use "Control.Monad.Except" instead
   |
18 | import   Control.Monad.Error (Error(..))
   | 

src/Network/MPD/Core/Error.hs:48:10: warning: [-Wdeprecations]
In the use of type constructor or class ‘Error’
(imported from Control.Monad.Error, but defined in 
transformers-0.5.5.0:Control.Monad.Trans.Error):
Deprecated: "Use Control.Monad.Trans.Except instead"
   |
48 | instance Error MPDError where
   |  ^

src/Network/MPD/Core/Error.hs:48:10: warning: [-Wdeprecations]
In the use of type constructor or class ‘Error’
(imported from Control.Monad.Error, but defined in 
transformers-0.5.5.0:Control.Monad.Trans.Error):
Deprecated: "Use Control.Monad.Trans.Except instead"
   |
48 | instance Error MPDError where
   |  ^
[ 2 of 36] Compiling Network.MPD.Core.Class ( src/Network/MPD/Core/Class.hs, 
dist/build/Network/MPD/Core/Class.o )

src/Network/MPD/Core/Class.hs:17:1: warning: [-Wdeprecations]
Module ‘Control.Monad.Error’ is deprecated:
  Use "Control.Monad.Except" instead
   |
17 | import   Control.Monad.Error (MonadError)
   | ^
[ 3 of 36] Compiling Network.MPD.Util ( src/Network/MPD/Util.hs, 
dist/build/Network/MPD/Util.o )
--8<---cut here---end--->8---

That seems surreal to me.

Thoughts?

Ludo’.