Using Cabal to install terminfo- breaks GHC on Debian x86_64

George Colpitts george.colpitts at
Sun Apr 13 17:33:24 UTC 2014

I was able to do cabal install of  terminfo, crypto and Yi on my mac with
ghc 7.8.2 and cabal
yi seems to work although I did very little with it

On Sun, Apr 13, 2014 at 12:08 PM, Ramin Honary <ramin.honary at>wrote:

> I am posting this to the mailing list, but it is a copy of a post I
> originally made on Haskell Reddit.
> My GHC is working fine now. But there seem to be some changes in either
> GHC 7.8.2 or Cabal- that have broken some of the older packages in
> Hackage.
> *TL;DR* I discovered the "Crypto- package is broken, and trying to
> install "terminfo-" breaks GHC by over-writing the terminfo library
> that came with the GHC tarball because isn't in the GHC package registry.
> I downloaded the binary distribution from here:
> and then immediately began re-building all of the packages in my
> .cabal/packages/ direcotry.
> I admit, all of my problems may be due to my Cabal config, but I haven't
> had any problems with it before this, as far as I know it is the default
> setup the option to build profiling libraries set to True.
> The first problem I had was that Crypto- was not building files
> correctly. *Some* of shared object files "*.dyn_o" were being built
> *without* their accompanying "*.dyn_hi" files, although some of the
> "*.dyn_hi" files did exist). When cabal tried to copy these "*.dyn_hi"
> files to the global package registry during installation it would fail with
> something about (for example) "could not find RSA.dyn_hi". To solve this, I
> rebuilt every "*.dyn_o" file that did not have an accompanying "*.dyn_hi"
> by hand using the command
> ghc -dynamic --make Codec.Binary.RSA
> The resulting "Codec/Binary/RSA.hi" file was actually a dynamic interface
> file but it's file extension was just ".hi" for some reason, (I double
> checked by using ghc --show-iface) so I just copied it it the
> "dist/build/Codec/Binary/" directory. I did this for every "*.hi" file that
> was supposed to be named "*.dyn_hi". This included about 10 files. Again,
> some "*.dyn_o" did build correctly with an accompanying "*.dyn_hi", about
> 10 of the modules were built incorrectly, all the rest were OK.
> The second problem I had was with installing "Yi" which relies on the
> "terminfo-" package. The "terminfo" library that came with the GHC
> 7.8.2 binary distribution does not show up in the output of "ghc-pkg list",
> so Cabal tries to build it thinking it doesn't exist, and it overwrites the
> existing "terminfo-" package with a library that contains missing
> symbols. This causes GHC to completely stop working. The "ghc" program
> immediately fails with an error:
> symbol lookup error: /usr/local/lib/ghc-7.8.2/bin/../haskeline- \
>     undefined symbol: terminfozm0zi4zi0zi0_SystemziConsoleziTerminfoziCursor_moveDown5_info
> I was able to solve this problem by simply copying the contents of:
> ghc-7.8.2/libraries/terminfo/dist-install/build/*
> from the source distribution tarball to the GHC installation directory:
> /usr/local/lib/ghc-7.8.2/terminfo-
> and that solved the problem. But any program depending on "terminfo"
> simply will not install properly. The terminfo- package does not
> show up in the output of ghc-pkg list, even though it comes with the GHC
> 7.8.2 tarball and GHC relies on it. Attempting to install Terminfo will
> build a ".so" file that GHC cannot use. *So don't install
> terminfo- from Hackage.*
> Fortunately, Yi is not something that is absolutely necessary. I was able
> to install every other package I needed (lens, diagrams, yesod, xmonad,
> gtk) without incident.
> But whatever changes have been made in ghc-7.8.2 and the accompanying
> Cabal- seem to have broken some of the older Hackage packages.
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Glasgow-haskell-users mailing list