[Haskell-cafe] Upgrading ByteString causes (seemingly)
impossible RTS linker errs
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Sun Jan 27 18:55:07 EST 2008
On Sun, 2008-01-27 at 12:54 -0800, Adam Langley wrote:
> On Jan 27, 2008 12:24 PM, Don Stewart <dons at galois.com> wrote:
> > It should be possible to specify that your lib depends on exactly
> > 0.9.0.1 in the .cabal file.
>
> In the same general area. When you upgrade something like bytestring
> and have to update everything that was built with it (otherwise you'll
> get type errors because the ByteString types from the two different
> versions are different) cabal-install is of no help. Since it already
> believes that I have those packages installed (correctly) if refuses
> to install them again so I have to do it all by hand.
>
> I realise that I should be sending darcs patches, not bug reports, but
> a --force to reinstall an already installed package would be great. I
> guess, ideally, cabal-install would know to rebuild everything that
> depends on x when I upgrade x.
This issue is filed as:
http://hackage.haskell.org/trac/hackage/ticket/220
> darcs patches might follow if I can get round to it (or the next time
> I update bytestring...)
Great. The first step is to take advantage of the new feature in ghc-pkg
in ghc-6.8.3 to enable us to get a complete database for all installed
packages, rather than just a list of package names and versions.
The following step would be to detect and warn about inconsistent
versions of deps.
The hardest part is integrating this constraint into the cabal-install
package search / dependency resolution algorithm, and if the constraint
turns out to be unsatisfiable, working out which packages have to be
rebuilt to get a consistent set of dependencies.
Of course in the case cited here we have to either make everything stick
with bytestring-0.9.0.1 or try and rebuild the ghc package against the
newer bytestring, but there is no .cabal package available for the ghc
package. In principle I think there could be, there just isn't at the
moment.
Duncan
More information about the Haskell-Cafe
mailing list