upgrading port with dependency change

Ryan Schmidt ryandesign at macports.org
Wed Apr 1 02:26:15 PDT 2015

On Mar 31, 2015, at 8:33 AM, Artur Szostak wrote:

> I am experiencing a problem when upgrading with the following command:
>  sudo port upgrade outdated
> I get the following error:
>  Error: org.macports.activate for port py27-astropy returned: Image error: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/fitscheck is being used by the active py27-pyfits port.  Please deactivate this port first, or use 'port -f activate py27-astropy' to force the activation.
> This is caused by a port who's dependency changed from py27-pyfits to py27-astropy.
> But should MacPorts not figure out automatically that the old pyfits dependency is no longer needed, uninstall it and install astropy instead?

Well, MacPorts never uninstalls ports for you, unless you run "sudo port uninstall".

If two ports install the same files, they must be marked as conflicting with one another. py27-pyfits and py27-astropy are missing these conflict indications. I'm Cc'ing the maintainers of those ports to add them.

That still won't give you a seamless upgrade however. It will just give you an earlier error message, advising you that you cannot install py27-astropy because a conflicting port py27-pyfits is already installed; you will then have to deactivate py27-pyfits to proceed. Unfortunately, within the capabilities that MacPorts has today, I'm not sure we can offer a seamless upgrade in this scenario.

Ideally, there would not be more than one port installing the same files, and then the problem would not arise.

More information about the macports-users mailing list