Opened 15 years ago
Closed 15 years ago
#23921 closed defect (fixed)
upgrade tries to install new version of inactive port mentioned in depspec when dependency is satisfied by a different active port
Reported by: | macfreek (Freek Dijkstra) | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | MacPorts 1.9.0 |
Component: | base | Version: | 1.8.2 |
Keywords: | Cc: | ||
Port: | py26-py2app-devel |
Description
I can not install py26-py2app-devel due to a dependency problem:
# py26-py2app-devel has library dependencies on (among others) py26-macholib and py26-modulegraph-devel # py26-macholib has library dependencies on (among others) py26-modulegraph
So indirectly, py26-py2app-devel depends on both py26-modulegraph-devel and on py26-modulegraph.
When I try to upgrade py26-py2app-devel to the latest version, I get the following error:
hError: Couldn't activate py26-modulegraph 0.7.3_0: Can't install py26-modulegraph because conflicting ports are installed: py26-modulegraph-devel
Attachments (1)
Change History (4)
comment:1 Changed 15 years ago by jmroot (Joshua Root)
Owner: | changed from macports-tickets@… to jmr@… |
---|---|
Status: | new → assigned |
Changed 15 years ago by macfreek (Freek Dijkstra)
Attachment: | depends-error.log added |
---|
ouput of port -d upgrade py26-py2app-devel
comment:2 Changed 15 years ago by macfreek (Freek Dijkstra)
It seem indeed that py26-macholib wants to install py26-modulegraph, despite the presence of the file ${python.pkgd}/modulegraph/init.py.
Some additional info:
- The py26-macholib Portfile on my system is 1.2.1_3.
- This Portfile contains the line "depends_lib-append path:${python.pkgd}/modulegraph/init__.py:py26-modulegraph"
- If I add "puts ${python.pkgd}/modulegraph/init.py" before this line, the path printed is "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/modulegraph/init.py".
- This file is present on my system.
- The ports on my system is 1.8.2, which is the latest version according to selfupdate.
- This is an Intel mac running Mac OS 10.5.8
comment:3 Changed 15 years ago by jmroot (Joshua Root)
Component: | ports → base |
---|---|
Milestone: | → MacPorts 1.9.0 |
Resolution: | → fixed |
Status: | assigned → closed |
Summary: | dependency problem py26-py2app-devel → upgrade tries to install new version of inactive port mentioned in depspec when dependency is satisfied by a different active port |
The log shows that py26-modulegraph is already installed (though inactive), so the upgrade procedure tries to upgrade it because it doesn't know that the dependency is actually being satisfied by another port.
This should already be fixed in trunk. Workarounds for now would be to uninstall py26-modulegraph entirely, or upgrade it to the latest available version so the upgrade procedure will skip it (needs to be done with py26-modulegraph-devel inactive of course).
Full debug output please. I don't see how this could happen since both py26-py2app-devel and py26-macholib actually depend on a file (
site-packages/modulegraph/__init__.py
) and not on a specific port.