Trying to experiment with data parallel Haskell - but can't get it to install

377 views Asked by At

Is anyone using data parallel Haskell with the 2012.4.0.0 Haskell platform?

I'm a Haskell beginner - but wanted to experiment with switching from lists to parallel arrays.

When I try and run

cabal install dph-examples

I get a build problem with bmp.1.2.3.1:

Codec\BMP.hs:208:11: Not in scope: `BSL.fromStrict'

Sure this is some type of version mismatch - but nor sure what to do. Any experts out there?

2

There are 2 answers

3
Daniel Fischer On BEST ANSWER

bmp depends on bytestring and binary. binary depends on bytestring itself. Your binary package was built with bytestring-0.9.2.1, the version that came with the platform.

When trying to cabal install bmp, cabal tries to install the latest version for which it can construct a valid install plan without reinstalling libraries (if possible at all). With a binary built with a bytestring-0.9.2.1, that is bmp-1.2.3.1, where the author forgot to bump the lower bound of the bytestring version, so the build fails since fromStrict was added in bytestring-0.10.

You can either install an earlier version of bmp,

cabal install "bmp < 1.2.3"

which is the safe option, or you can rebuild binary against the newer bytestring version. The latter likely will break some other packages depending on binary, so those would have to be rebuilt too. And for a package like bytestring which many other packages depend on, it would also be likely that a similar problem occurs soon again.

1
tom On

Make sure you have bytestring >= 0.10.0.0 installed.