MacPorts missing links

David Epstein David.Epstein at warwick.ac.uk
Sat Sep 10 14:51:27 PDT 2016


Thanks for your help:

> On 10 Sep 2016, at 19:38, Lawrence Velázquez <larryv at macports.org> wrote:
> 
>> On Sep 10, 2016, at 1:42 PM, David Epstein <David.Epstein at warwick.ac.uk> wrote:
>> 
>> I gave the command:
>> 
>> ls -l /opt/local/bin/py*
>> and the system replied:
>> 
>>> lrwxr-xr-x  1 root  wheel  23  9 Jun 19:13 /opt/local/bin/pydoc@ -> /opt/local/bin/pydoc2.7
>>> lrwxr-xr-x  1 root  wheel  23  9 Jun 17:19 /opt/local/bin/pydoc3@ -> /opt/local/bin/pydoc3.5
>>> lrwxr-xr-x  1 root  wheel  24  9 Jun 19:13 /opt/local/bin/python@ -> /opt/local/bin/python2.7
>>> lrwxr-xr-x  1 root  wheel  31  9 Jun 19:13 /opt/local/bin/python-config@ -> /opt/local/bin/python2.7-config
>>> lrwxr-xr-x  1 root  wheel  24  9 Jun 17:19 /opt/local/bin/python3@ -> /opt/local/bin/python3.5
>>> lrwxr-xr-x  1 root  wheel  31  9 Jun 17:19 /opt/local/bin/python3-config@ -> /opt/local/bin/python3.5-config
>>> lrwxr-xr-x  1 root  wheel  25  9 Jun 17:19 /opt/local/bin/python3m@ -> /opt/local/bin/python3.5m
>>> lrwxr-xr-x  1 root  wheel  32  9 Jun 17:19 /opt/local/bin/python3m-config@ -> /opt/local/bin/python3.5m-config
>>> lrwxr-xr-x  1 root  wheel  25  9 Jun 19:13 /opt/local/bin/pythonw@ -> /opt/local/bin/pythonw2.7
>>> lrwxr-xr-x  1 root  wheel  25  9 Jun 17:19 /opt/local/bin/pyvenv@ -> /opt/local/bin/pyvenv-3.5
> 
> Those are symlinks created by "port select". Presumably you set up the python, python2, and python3 select groups at some point.
> 
>> You will see that none of the files on the righthand side of the arrow -> appears on any lefthand side. I tried “port provides” on both lefthand and righthand sides and received error messages from port such as
>>> /opt/local/bin/pydoc2.7 does not exist.
> 
> Did you uninstall python27?

I think so. The ls -l command above does not find /opt/local/bin/python*, except for symbolic links.
What port command could I give to make sure?

What port command can I give to extirpate remnants of an uninstalled port, if there are any remnants?

>> and
>>> /opt/local/bin/pydoc is not provided by a MacPorts port.
> 
> Right, because that file was created by "port select" and not a port.
> 
>> How do I get rid of the symbolic links, other than using /bin/rm, something I have been told never to do?
>> 
>> How can I find all hanging links like this in /opt? Presumably there is a clever formula using unix find.
> 
> Try running "port select --summary" (although I'm not sure whether this feature has been released). It will list the select groups on your system and their current settings. If any of those settings corresponds to a port you have uninstalled, you should be able to remove the symlinks with

I ran “port select —summary” as you suggested and got the response

Name       Selected  Options
====       ========  =======
cython     none      none
gcc        none      none
ipython    none      none
ipython2   none      none
ipython3   none      none
llvm       none      mp-llvm-3.5 none
nosetests  none      none
pip        none      none
python     none      python26-apple python27-apple none
python2    none      python26-apple python27-apple none
python3    none      none

I do not want to rely on my memory of which of these I have uninstalled. I need to be told by a reliable program. What would happen if I gave one of your commands below, with argument a port that was still installed? Since I do not yet know the answer to that question, I will refrain for the moment from issuing any of these commands. My guess is that only the symbolic link would be removed, leaving the true file in place, but I would like to be sure before I take any action.

> 	sudo port select --set python none
> 	sudo port select --set python2 none
> 	sudo port select --set python3 none
> 	etc etc etc
> 
>> I wonder what causes this kind of problem? I cannot remember any of my port processes terminating incorrectly. I have lately been uninstalling python-related ports, because I had too many different versions of python on my machine, and I was getting confused.
> 
> The symlinks created by "port select" are not modified if the selected port is subsequently deactivated or uninstalled. I think there is an open ticket about this, but I can't find it at the moment.
> 
> vq



More information about the macports-users mailing list