Replacing a variant with many dependencies

Ryan Schmidt ryandesign at
Sat Feb 25 12:45:53 PST 2012

On Feb 25, 2012, at 07:11, Freek Dijkstra wrote:

> This questions must have been asked a 1000 times, but I can't seem to
> find the answer with Google.
> I like to change a variant of a port with many dependencies.
> In my case, change "python27" to "python27 +ucs4"
> Unfortunately, a simple `port install python27 +ucs4` fails.

That is all that should have been needed.

> (The destroot step fails while building while importing
> pyexpat with "Symbol not found: _PyUnicodeUCS2_Decode", see below)
> I'm not sure if this a regular bug, or caused by the fact that I still
> have another Python variant installed.

Not an unreasonable thought.

> To test, I wanted to first uninstall the current python27, but that
> fails because it has some dependencies. "Some" turned out 117
> dependencies as reported by `port rdependents python27`.
> Is there a simple way to deactivate them and activate later? Or if that
> is not good enough, uninstall and install them later, without
> maintaining a list by hand?

To test this, you can simply deactivate your existing python27.

sudo port -f deactivate python27

MacPorts will complain that other ports require it; those ports will probably be broken until you reinstall / reactivate python27. But since you're planning to do that immediately, there should be no problem.

> While I'm at it: has anyone successfully installed python +ucs4? (I'm
> trying to determine if I can avoid this bug by doing a clean install or
> not).

On my Snow Leopard x86_64 system, I have no trouble installing python27 +ucs4 +universal even when python27 +universal is already installed.

More information about the macports-users mailing list