On Sat, 2006-09-23 at 06:13 -0400, Mike Frysinger wrote: 
> On Thursday 21 September 2006 11:41, Duncan Coutts wrote:
> > On Thu, 2006-09-21 at 11:11 -0400, Mike Frysinger wrote:
> > > On Thursday 21 September 2006 10:56, Duncan Coutts wrote:
> > > > If we do go in this direction it'd be great to be able to slot on the
> > > > ABI and still have dependencies resolved correctly. For example imagine
> > > > having parallel python-2.3 and 2.4 installations with some libs
> > > > installed for both. Crucially, deps need to be resolved to the version
> > > > of a lib with the right ABI.
> > >
> > > ugh, no ... we are not a binary distribution so we should not have to
> > > worry about ABI baggage
> >
> > So we can't ever install two versions of python or ghc at once? That
> > seems a shame.
> 
> that's an issue for the python or ghc maintainers to address

Yes and as ghc maintainer for Gentoo I'd love to be able to do it. It is
easy to install more than one version of ghc at once as it uses
versioned directories etc. The problem is that we cannot correctly
resolve dependencies with the current versions of portage. Hence we
cannot effectively do it.

I was worried from your ABI/API comments that you meant that we should
never be allowed to do it.

As I said before, if we were to SLOT ghc and the various dev-haskell/*
libs on the ghc version then we would run into this problem:

assume dev-haskell/foo needs dev-haskell/bar

supposing dev-haskell/bar was installed and sloted for ghc-6.2
now I install ghc-6.4 too
now I emerge dev-haskell/foo.

portage will use the existing installation of dev-haskell/bar even
though it was installed for another version of ghc. Therefore the build
will break (think of haskell libs of having a SONAME that is the version
of ghc they were built with). What needs to happen is to install
dev-haskell/bar sloted for ghc-6.4 and use that.

Currently there is no way to explain these dependencies to portage.

I was hoping that with this talk of tracking reverse deps and such like
that we could move in a direction where this kind of dependency could be
supported. Even if we can't slot on the ghc version, automatically
rebuilding for the latest ghc version would be a great improvement -
like the suggestion to rebuild dependent libs when the SONAME changes.

Duncan

-- 
gentoo-dev@gentoo.org mailing list

Reply via email to