Snow Leopard and /usr/local

Ryan Schmidt ryandesign at macports.org
Thu Sep 24 11:33:45 PDT 2009


On Sep 24, 2009, at 11:53, Ben Greenfield wrote:

> On Sep 24, 2009, at 12:51 PM, Paul T Baker wrote:
>
>> Way back when, I installed MacPorts in /usr/local.  I upgraded to  
>> Snow Leopard and have attempted to get MacPorts 1.8 to install  
>> there to no avail.  I know that Snow Leopard messes with /usr/local  
>> permissions.

I'm not aware of any Snow Leopard-specific changes to the permissions  
of /usr/local. I know that in Snow Leopard / is not writable whereas  
it was before. The change in MacPorts 1.8.0 that prevents installation  
in /usr/local was not motivated by Snow Leopard, at any rate.

>> I've tried all kinds of things to convince it to go there, but it  
>> won't:
>>
>> configure: error: Installing MacPorts into /usr/local is not  
>> supported
>>
>> is what I'm told.

Yes, that's the check we added in 1.8.0.

>> I hear that installing into /usr/local can cause problems, so my  
>> guess is that MacPorts explicitly refuses to install there.  fine.
>>
>> Mostly I want to uninstall all of my old ports that still live in / 
>> usr/local.  I can't just rm the whole thing.  So my questions are:

Hm. Does your existing MacPorts installation still function at all? If  
not, what happens when you try to use the port command?

>> If I install MacPorts elsewhere can I make it see all of the old  
>> ports in /usr/local so it can uninstall them?

There might be a way to trick it. You could try creating the  
directory /opt and then creating a symlink at /opt/local pointing to / 
usr/local. Then install MacPorts 1.8.0 from the disk image that you  
can download from the MacPorts web site, which will install the new  
MacPorts into /opt/local, and will not touch your installed ports. I'm  
not certain it will install through the symlink, but I think there's  
at least a chance it might. But then please do uninstall your ports  
(sudo port -f uninstall installed) and uninstall MacPorts (see the FAQ  
in the wiki) and reinstall it in a supported prefix.

>> If not, can I (against all advice) trick MacPorts to install to / 
>> usr/local to uninstall the ports? (I would then reinstall it  
>> elsewhere)

You could download the MacPorts base source, remove the line of code  
that checks for /usr/local, and then install from source. See the wiki  
how-to for instructions on installing from source.

> I think the default is usually the default is /opt/local with usual  
> a symlink to /usr/local/

/opt/local is the default MacPorts prefix. As of MacPorts 1.8.0 we no  
longer allow changing the prefix to /usr/local because we do not want  
to provide technical support for the many unexpected situations that  
this causes. Creating a symlink at /usr/local pointing to /opt/local  
would probably be just as bad so please do not do that for regular use.




More information about the macports-users mailing list