Opened 14 years ago

Closed 14 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: software@… 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)

depends-error.log (66.3 KB) - added by software@… 14 years ago.
ouput of port -d upgrade py26-py2app-devel

Download all attachments as: .zip

Change History (4)

comment:1 Changed 14 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to jmr@…
Status: newassigned

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.

Changed 14 years ago by software@…

Attachment: depends-error.log added

ouput of port -d upgrade py26-py2app-devel

comment:2 Changed 14 years ago by software@…

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 14 years ago by jmroot (Joshua Root)

Component: portsbase
Milestone: MacPorts 1.9.0
Resolution: fixed
Status: assignedclosed
Summary: dependency problem py26-py2app-develupgrade 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).

Note: See TracTickets for help on using tickets.