-u flag not working?

Ryan Schmidt ryandesign at macports.org
Tue Jun 19 17:56:45 PDT 2007

On Jun 19, 2007, at 19:15, Eric Tiffany wrote:

> I am trying to uninstall broken versions of some ports.  But I get  
> this:
> [Instance/bin] > uninstall -u libxml2
> --->  The following versions of libxml2 are currently installed:
> --->    libxml2 @2.6.28_0
> --->    libxml2 @2.6.28_1 (active)
> --->    libxml2 @2.6.28_2
> Error: port uninstall failed: Registry error: Please specify the full
> version as recorded in the port registry.
> I thought the -u flag would uninstall non-active versions of a port?

I have only used the -u flag when upgrading, not when uninstalling.  
But I looked in "man port" and it says:

      -u       uninstall non-active ports when upgrading and  

When upgrading, you would use it like this:

sudo port -u upgrade libxml2

This would cause MacPorts to build the next version of libxml2, then  
uninstall the current version of libxml2, then install the current  
version, so that you don't end up with all these old inactive  
versions lying around.

I'm not sure how -u can be used when uninstalling. I've always just  
taken that error message you received at face value: you must specify  
the full port version to uninstall it. For example:

sudo port uninstall libxml2 @2.6.28_0

I think you could also do

sudo port uninstall inactive

if you wanted to uninstall all inactive ports. However, in your case,  
note that you have libxml2 2.6.28_1 active and 2.6.28_2 inactive. You  
probably want to deactivate 2.6.28_1 and activate 2.6.28_2 before  
uninstalling inactive.

More information about the macports-dev mailing list