simonmar / monad-par

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`monad-par-0.3.6` build failure with GHC 7.8.4 and 7.10.3

RyanGlScott opened this issue · comments

As seen in this CI job:

Failed to build monad-par-0.3.6.
Build log ( /github/home/.cabal/logs/ghc-7.10.3/monad-par-0.3.6-1dcbd510b5858efd4a7395d8dedcb317fdb8b3652be1e0c13c9256a21044b374.log ):
Configuring library for monad-par-0.3.6..
Preprocessing library for monad-par-0.3.6..
Building library for monad-par-0.3.6..

Control/Monad/Par/Scheds/Direct.hs:40:8:
    Could not find module ‘Control.Monad.IO.Class’
    It is a member of the hidden package ‘transformers-0.4.2.0@trans_GZTjP9K5WFq01xC9BAGQpF’.
    Perhaps you need to add ‘transformers’ to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.
Error: cabal-3.10.1.0: Failed to build monad-par-0.3.6 (which is required by criterion-1.6.3.0). See the build log above for details.

Could you revise the lower version bounds on base to >= 4.9 to reflect this?

Thanks Ryan. I did test with older GHCs but supporting GHC 7 seems extreme. Happy to revise the base bounds though, I'll do that next week.

The network-uri package is hitting this as well: https://github.com/haskell/network-uri/actions/runs/6365879313/job/17283213953

It's true GHC 7.x is a bit old now; although as maintainer of a low-level and widely used library, network-uri, I'm slightly loathe to have an unknown impact on my users by dropping, and it has been easy to support 7.x until now. I'll give it a serious think.

@ezrakilty you shouldn't need to do anything with the revised bounds, as Cabal won't select the latest version due to the new base constraint. That said, I'm curious if the Cabal used with GHC 7 is capable of using revisions... guess we'll find out!

Would adding transformers to the dependencies solve the problem while also supporting GHC 7.10? It seems that this package is required anyway, so it could as well be exposed in the list of dependencies.

(I tested building with GHC 7.10.3 successfully with an added transformers dependency.)

I've published a new revision for now, which is probably as much as I really plan to do here unless there are serious objections.

Adding a CI here would produce the evindence that monad-par actually builds with the versions that it claims to support.
Generating a CI with haskell-ci is little work.

It might be very little work, but it's not something I'm familiar with and unfortunately don't have the time to invest in that right now. I will of course welcome any help here.

@ocharles Looks like that unblocked my network-uri builds—thank you!

A CI for monad-par testing with GHCs 8 and 9 is now in place: