Opened 5 years ago

Last modified 14 months ago

#55393 assigned defect

graphviz +rsvg depends on graphviz; circular dependency; prevents installation

Reported by: rhstanton Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: blair (Blair Zajac), wyuenho (Jimmy Yuen Ho Wong), Dave-Allured (Dave Allured), AndyWharton, nneonneo (Robert Xiao), cooljeanius (Eric Gallager)
Port: graphviz

Description (last modified by ryandesign (Ryan Schmidt))

On a fresh installation of MacPorts under OS X High Sierra, installation fails if I try the +rsvg variant of graphviz. Note that it seems to think it requires itself as a dependency, which seems odd:

$ sudo port install graphviz +rsvg
--->  Computing dependencies for graphviz
The following dependencies will be installed: 
 graphviz
 librsvg
 vala
Continue? [Y/n]: y
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port graphviz failed

Change History (10)

comment:1 in reply to:  description Changed 5 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Keywords: graphviz rsvg removed
Owner: set to ryandesign
Status: newassigned

Replying to rhstanton:

Note that it seems to think it requires itself as a dependency, which seems odd:

You're right. librsvg depends on vala, which depends on graphviz. So that won't work. If you want to install graphviz with the +rsvg variant, I guess you'll have to install it once without the +rsvg variant first, to satisfy vala's need.

comment:2 Changed 5 years ago by ryandesign (Ryan Schmidt)

Summary: Installation failure: graphviz + rsvggraphviz +rsvg depends on graphviz; circular dependency; prevents installation

comment:3 Changed 5 years ago by blair (Blair Zajac)

Cc: blair added

comment:4 Changed 4 years ago by ryandesign (Ryan Schmidt)

Cc: wyuenho added

Has duplicate #56687.

comment:5 Changed 4 years ago by wyuenho (Jimmy Yuen Ho Wong)

From MacPort's perspective, before installation, can't it check for cycles first, and if there's one detected, break the cycles into DAGs, and then process the DAGS successively?

comment:6 Changed 4 years ago by ryandesign (Ryan Schmidt)

I have absolutely no idea. All I can tell you is that MacPorts behavior is undefined when a circular dependency exists. Please bring up the topic on the macports-dev mailing list if you have a suggestion about how we can better handle circular dependencies. Bear in mind that we have a rewritten MacPorts dependency engine based on libsolv implemented a couple years ago during GSoC which has not yet been merged to master; that might already change the situation.

comment:7 Changed 4 years ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added

comment:8 Changed 4 years ago by ryandesign (Ryan Schmidt)

Cc: AndyWharton added

Has duplicate #58102.

comment:9 Changed 17 months ago by ryandesign (Ryan Schmidt)

Cc: nneonneo added

Has duplicate #63103.

comment:10 Changed 14 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.