Something like that yes.
You're running runhaskell Setup.lhs and that loads and runs code from
the Cabal library. The Cabal library depends on the process library
which depends on the unix library. So by replacing the same version of
the unix package you're breaking everything else which depends on it,
including Cabal and thus runhaskell Setup.lhs.
So the solution is to not do that. Don't re-install the exact same
version of any of the core libs that come with ghc. Adding new versions
is fine, replacing existing versions is not fine because it breaks all
the other packages that were already built against that package.
But Duncan, let's suppose I build "unix" putting in a "local" directory with a different version number than the released version of "unix".
1) How do I get the "local" package.conf built and populated?
2) How do I get a test case to link against this experimental local version of "unix"? Is there a "--prefix" or something like that I pass on runhaskell Setup.hs build?
Regards, Vasili
Duncan