On Wed, Jan 19, 2011 at 01:58:42AM +0100, Jonas Smedegaard wrote:
On Wed, Jan 19, 2011 at 01:18:47AM +0100, Alessio Treglia wrote:
something goes wrong:

-> Considering build-dep libjack-dev-session
 -> Trying to add libjack-dev-session
 -> Loop detected, last APT error was: ======
Reading package lists...
Building dependency tree...
Reading state information...
Package libjack-dev-session is a virtual package provided by:
E: Package 'libjack-dev-session' has no installation candidate
 -> =========================================
 -> (not adding  to libjack-dev-session)
     -> Cannot install libjack-dev-session; apt errors follow:

It installs libjack-dev but fails to build anyway.
Any hint?

Possibly the problem is that the build-dependency on a virtual package which is provided by multiple real packages.

binary dependencies are enforced by Policy to always be on real packages first, only as fallback on a virtual package. This is not enforced for build-dependencies but the underlying problem of undeterministic behaviour in case of multiple solutions is similar.

Yes. That is the problem!

This avoids the loop more elegantly than by chasing specific versions of specific implementations all over (as you did after posting above):

 libjack-dev (>= 0.118~) | libjack-dev,

Notice the peculiar double dependency on same package twice in first of the lines. The trick is that a versioned dependency is only satisfied by a real package. So above means "Try first to install the real package" and "the version of the package tried must provide session feature".

 - Jonas

 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: Digital signature

pkg-multimedia-maintainers mailing list

Reply via email to