[Haskell-cafe] Info on dependencies among libs distributed with ghc?

Magnus Therning magnus at therning.org
Mon Apr 21 09:55:24 UTC 2014


Haha, oups.  This is a rather confused answer.  I think I started
reading the depency arrows the wrong way about half way through
writing it.

Just disregard the whole thing.  I'll attempt a better reply in a new
email instead.

/M

On Mon, Apr 21, 2014 at 11:38:13AM +0200, Magnus Therning wrote:
> On Mon, Apr 21, 2014 at 10:38:51AM +0200, Herbert Valerio Riedel wrote:
> > On 2014-04-21 at 07:35:32 +0200, Magnus Therning wrote:
> >> On Sun, Apr 20, 2014 at 06:01:33PM -0400, Carter Schonwald wrote:
> >>> yup. go crazy :)
> >>
> >> What other packages that are shipped with Ghc can I update without
> >> running into the diamond-dependency problem?
> >>
> >> Package          | Safe to update
> >> =================================
> >> Cabal            | ✓
> > 
> > Problems can arise though, if you install packages which start
> > linking against the newer Cabal package, and then you happen to need
> > to link those together with the 'ghc' package (which currently
> > depends on the Cabal lib bundled with the GHC distro), then you got
> > yourself a diamond-dep problem nevertheless
> 
> Yes, that would be exactly the kind of problem that prompted me to ask
> the question.  So, in short, it is not safe to upgrade Cabal.
> 
> Then I have to say it is rather irritating that there is no way for me
> to safely provide the latest version of cabal-install!
> 
> > If that poses no problem to you, many of the packages listed below
> > (except for the wired-in packages, namely: base, ghc-prim,
> > integer-gmp, and template-haskell), could be regarded similarly
> > "safe to update" (more so in a Cabal sandbox)
> 
> Unfortunately I'm not talking about a Cabal sandbox, but rather of
> packages in an Arch Linux repository.  So the problems caused by my
> actions affect not only me but every user of the repository.
> 
> Well, the dependency graph produced by `ghc-pkg dot --global` seems to
> indicate that upgrading a single one of the
> packages-that-comes-with-ghc is akin to wandering into a proper mine
> field.  AFAIU I can't upgrade a single package that `ghc` depends on:
> 
>     "ghc-7.8.2" -> "Cabal-1.18.1.3"
>     "ghc-7.8.2" -> "array-0.5.0.0"
>     "ghc-7.8.2" -> "base-4.7.0.0"
>     "ghc-7.8.2" -> "bin-package-db-0.0.0.0"
>     "ghc-7.8.2" -> "bytestring-0.10.4.0"
>     "ghc-7.8.2" -> "containers-0.5.5.1"
>     "ghc-7.8.2" -> "directory-1.2.1.0"
>     "ghc-7.8.2" -> "filepath-1.3.0.2"
>     "ghc-7.8.2" -> "hoopl-3.10.0.1"
>     "ghc-7.8.2" -> "hpc-0.6.0.1"
>     "ghc-7.8.2" -> "process-1.2.0.0"
>     "ghc-7.8.2" -> "template-haskell-2.9.0.0"
>     "ghc-7.8.2" -> "time-1.4.2"
>     "ghc-7.8.2" -> "transformers-0.3.0.0"
>     "ghc-7.8.2" -> "unix-2.7.0.1"
> 
> On top of that I'd have to re-compile all packages that depend on the
> package I do upgrade.  But then all packages come together as
> dependencies of `base`, which is hard-wired which I suppose will make
> it problematic to even recompile the same version.
> 
> In short that would mean that none of the packages bundled with Ghc
> are "safe to update".  No?
> 
> /M
> 
> -- 
> Magnus Therning                      OpenPGP: 0xAB4DFBA4 
> email: magnus at therning.org   jabber: magnus at therning.org
> twitter: magthe               http://therning.org/magnus
> 
> As long as there are ill-defined goals, bizarre bugs, and unrealistic
> schedules, there will be Real Programmers willing to jump in and Solve The
> Problem, saving the documentation for later.  Long live Fortran!
>      -- Ed Post



-- 
Magnus Therning                      OpenPGP: 0xAB4DFBA4 
email: magnus at therning.org   jabber: magnus at therning.org
twitter: magthe               http://therning.org/magnus

What gets measured, gets done.
     -- Tom Peters
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140421/5e6ab734/attachment.sig>


More information about the Haskell-Cafe mailing list