MacPorts missing links
Ryan Schmidt
ryandesign at macports.org
Mon Sep 12 19:15:25 PDT 2016
On Sep 12, 2016, at 6:25 AM, David Epstein wrote:
> 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.
Officially, per the Migration wiki page, when you upgrade to a new version of macOS, you should install the latest Xcode and command line tools and reinstall MacPorts base. Those steps aren't optional.
Then you should uninstall and reinstall all ports. If you don't do that, MacPorts will consider all ports to be outdated, due to the change in macOS version number. You can then upgrade them by running "sudo port upgrade outdated". This might work, and I've used this method myself. But it's possible for you to run into problems with this due to undeclared dependencies. You may be able to avoid those problems by using trace mode ("port -t"), at the expense of some speed, and also at the expense of running into some other kinds of problems. Also, the trace mode in MacPorts 2.3.x may be insufficient; much work has been done to improve trace mode in trunk, which will be released as MacPorts 2.4, but that hasn't happened yet.
>>> 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?
Apple binary or MacPorts binary. One way to find out would be to actually select it (e.g. "sudo port select python python27-apple"), then see what binary /opt/local/bin/python points to. Usually "port select" makes many symlinks. In the case of the python select group, it's not just selecting what /opt/local/bin/python points to, but also a handful of other symlinks to other programs related to python.
More information about the macports-users
mailing list