MacPorts missing links

David Epstein David.Epstein at warwick.ac.uk
Mon Sep 12 04:25:05 PDT 2016


On 11 Sep 2016, at 23:33, Ryan Schmidt <ryandesign at macports.org> wrote:
> 
> 
>> On Sep 11, 2016, at 5:22 PM, Ryan Schmidt <ryandesign at macports.org> wrote:
>> 
>> 
>>> On Sep 11, 2016, at 4:57 PM, David Epstein <David.Epstein at warwick.ac.uk> wrote:
>>> 
>>> Thanks very much for all your work on my issue: much appreciated.
>>> 
>>> However, it’s looking like too much manual work, and also somewhat hazardous, at least to me as a non-expert. Moreover, I have no confidence that everything will be consistent, even if I successfully and correctly manually delete a number of symlinks, regular files and directories from /opt/local. Rather than spend more time on the problem, I will now move /opt/local to /opt/local.old and start again from scratch.
>> 
>> If you like, but that sounds like a lot of work to me. It didn't sound like there was anything particularly wrong with your old MacPorts installation, aside from a few broken symlinks created by port select, and maybe one or two other broken symlinks whose origins I'm not sure of yet. For example, libpng.la should not have existed on your system, if your OS is Mavericks or later.
In view of what you say, I am staying with my current installation of MacPorts. Thanks for the advice.
I have deleted symlinks manually.  I hope I haven’t messed up, but I can always go to Plan B and reinstall MacPorts from scratch.
When I now run
> sudo find -L /opt/local -type l -exec port provides {} +

I get
> /opt/local/lib/libpng.la is provided by: libpng
> /opt/local/libexec/qt4/include/QtCLucene is provided by: qt4-mac
> /opt/local/libexec/qt4/include/QtDesignerComponents is provided by: qt4-mac
> /opt/local/libexec/qt4/Library/Frameworks/QtCLucene.framework/Headers is provided by: qt4-mac

With regard to your remark about libpng, isn’t it the case that the MacPorts guide now indicates that it is not necessary to start from scratch when the OS is upgraded? Anyway, I have not been starting from scratch on MacPorts with recent OS upgrades. So libpng would perhaps have been left over from previous operating systems,. I don’t see why it would have been uninstalled.

>> There's no need to avoid using "port select", if you want the functionality it provides. It just doesn't automatically remove its symlinks if you later uninstall the port you had asked "port select" to select. Until we fix that, remember to "port select GROUP none", where GROUP is the name of the select group.

I should read more documentation on “port select”. I think that “man port” does not give an adequate explanation, and I would welcome a pointer to fuller documentation about “port select”.

> 
> And certainly you can Cc yourself on any tickets you're interested in following, by clicking the ticket's CcMe! button.
> 
> 
> 
>>> I do not understand the issues involved and their ramifications, so I may be saying something stupid, but it seems to me, as a naive user, that this reveals a rather bad design fault in “port select”. An "available version" should either be “none” or the true name of an installed port. I realize that resources  to fix things are scarce, but could the ability to choose a random name at least be acknowledged as bad practice, and could a ticket be provided for work to be done so that this behaviour becomes impossible?
>> 
>> I think we don't consider this to be a design fault, but a feature. In other words, it was not a mistake that the select group entry can differ from a port; it was a deliberate decision to allow that. As has been pointed out, we want to be able to select things that are part of macOS and are not provided by a port.
Yes, I originally misunderstood what port select was designed to do. This extended possibility is clearly a GOOD THING.
>> 
>> I agree that some of the select group entry names we've chosen are not optimal in the way in which they differ from the name of the port they provide. It might be a pain to fix that at this late date.
Presumably you have hard-wired this connection between a select group entry name and some particular Apple binary. How do I find out which Apple binary?

David



More information about the macports-users mailing list