Opened 7 years ago
Last modified 5 weeks ago
#55393 assigned defect
graphviz +rsvg depends on graphviz; circular dependency; prevents installation
Reported by: | rhstanton | Owned by: | ryandesign (Ryan Carsten 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), ballapete (Peter "Pete" Dyballa), mcookly (Maximilian Cook) | |
Port: | graphviz |
Description (last modified by ryandesign (Ryan Carsten 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 (13)
comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Keywords: | graphviz rsvg removed |
Owner: | set to ryandesign |
Status: | new → assigned |
comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | Installation failure: graphviz + rsvg → graphviz +rsvg depends on graphviz; circular dependency; prevents installation |
---|
comment:3 Changed 7 years ago by blair (Blair Zajac)
Cc: | blair added |
---|
comment:4 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | wyuenho added |
---|
Has duplicate #56687.
comment:5 Changed 6 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 follow-up: 12 Changed 6 years ago by ryandesign (Ryan Carsten 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 6 years ago by Dave-Allured (Dave Allured)
Cc: | Dave-Allured added |
---|
comment:8 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | AndyWharton added |
---|
Has duplicate #58102.
comment:9 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | nneonneo added |
---|
Has duplicate #63103.
comment:10 Changed 3 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:11 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)
Cc: | ballapete added |
---|
comment:12 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign:
I have absolutely no idea. All I can tell you is that MacPorts behavior is undefined when a circular dependency exists.
In my case, #66461, it would work when port
would understand that graphviz
and graphviz-devel
are equivalent and when there is a need to install either this or that, then install what the user wants – otherwise port
would not have been invoked and could continue to sleep. If the user does not request a particular (set of) variant(s) install the default one.
comment:13 Changed 5 weeks ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mcookly added |
---|
Has duplicate #71122.
Replying to rhstanton:
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.