On 30 May 2017 at 17:08, Ryan Schmidt <ryandes...@macports.org> wrote: > On May 30, 2017, at 09:52, db wrote: > >> On 30 May 2017, at 14:58, Ryan Schmidt wrote: >> >>> What specific fix to you recommend? >> >> I have no fix to recommend. My uneducated guess is that it's searching for >> /opt/local/lib/libreadline.6.dylib while I've just updated it to v7. > > Yes. > >> Would that be non-fixable? > > The fix is to upgrade the outdated thing that's still using version 6, in > this case gawk. > > Note that gawk is not a declared dependency of the port you're building. > > The problem is that configure scripts of ports like the one you're building > automatically look for gawk and other similar utilities. Even if the system > version of awk would work, they prefer the MacPorts gawk if it's present. > > gawk is not the only utility this happens to. sed and grep are others. > > To fix this to your satisfaction, i.e. in a way that the user does not > encounter an error message that they have to fix manually, we would have to > modify every port that has such a configure script to tell it to only use the > system versions of those utilities even if the MacPorts versions are > installed. Alternately, we would have to make each of those ports declare > dependencies on each of the utilities it opportunistically uses, even if > they're not necessary. Either solution means modifying hundreds or thousands > of ports, and ensuring that newly added ports follow this strategy too. So > far, we've been unwilling to do this. > > Another solution is to use trace mode (the -t flag). Maybe one day MacPorts > can default to doing so. For now, it reduces MacPorts performance by 50% so > it's opt in rather than opt out.
Another semi-weird solution would be to somehow declare a list of "high priority" ports that always get updated first even if no other port depends on them (either in the core or as a special keyword in the Portfile). Or introduce a concept of "soft dependencies". Those are dependencies that are not needed (and not installed if absent), but should be upgraded first in case they are present. Mojca