Opened 10 years ago

Closed 10 years ago

#41131 closed enhancement (duplicate)

Dependencies on different variants of specific port cannot be resolved automatically

Reported by: an0nym@… Owned by: macports-tickets@…
Priority: Low Milestone:
Component: base Version: 2.2.1
Keywords: Cc:
Port:

Description

Let's say we want to sudo port install djview pidgin +no_x11+quartz, they recursively depend on cairo +x11 and cairo +quartz+x11 respectively.

cairo +x11 gets installed within djview installation

--->  Fetching archive for cairo
--->  Attempting to fetch cairo-1.12.16_1+x11.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/cairo

and then an error occurs within pidgin +no_x11+quartz installation because its dependency gtk2 depends on cairo +quartz

--->  Fetching archive for gtk2
Error: org.macports.archivefetch for port gtk2 returned: cairo must be installed with +quartz.
Error: Failed to install gtk2
Please see the log file for port gtk2 for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_gtk2/gtk2/main.log
Error: The following dependencies were not installed: gconf gtk2 orbit2 libidl policykit gnutls libtasn1 nettle p11-kit desktop-file-utils libao nspr nss
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port pidgin failed

Manually reinstalling cairo (and pango which fails next for the same reason) sudo port install cairo +opengl+quartz pango +quartz solves the issue.

Can it be done automatically?

  1. S. Sorry if the bug is duplicate, searching on such an abstract topic is quite difficult.

Change History (2)

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

No, it cannot be done automatically. Ports cannot declare dependencies on variants of other ports. See #126.

comment:2 Changed 10 years ago by larryv (Lawrence Velázquez)

Resolution: duplicate
Status: newclosed

Duplicate of #126.

Note: See TracTickets for help on using tickets.