(building cabal-install from git) Why Module `Distribution.Compat.Exception' does not export `SomeException'

StackOverflow https://stackoverflow.com/questions/11261063

  •  18-06-2021
  •  | 
  •  

Question

I'm trying to compile hackport ( here is sources: https://github.com/Nensha/hackport ) with newer cabal but always getting the same Error:

[61 of 91] Compiling Distribution.Client.Types ( cabal/cabal-install/Distribution/Client/Types.hs, dist/build/hackport/hackport-tmp/Distribution/Client/Types.o )

cabal/cabal-install/Distribution/Client/Types.hs:33:12:
    Module
    `Distribution.Compat.Exception'
    does not export
    `SomeException'

according Distribution.Compat.Exception there must not be any problems and in must come from base but fails. So the question is why?

Was it helpful?

Solution

Your problem is that

Hs-Source-Dirs:       ., cabal/cabal, cabal/cabal-install

there are two modules Distribution.Compat.Exception. One under cabal/cabal and one under cabal/cabal-install. The latter exports SomeException, the former doesn't. But the compiler picked up the one from the Cabal library, which doesn't. Maybe reordering the directories in the Hs-Source-Dirs field would be a workaround.

Normally, when compiling cabal-install, the source directories of the Cabal library are not available, so the Distribution.Compat.Exception that gets picked up is the one from cabal-install.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top