<div dir="ltr">I should note that that&#39;s just an example; libSystem has only changed that way once, I think. But the same applies to other Apple-only frameworks, which change more often and more radically. Apple also has no qualms about removing old frameworks they don&#39;t care about any more, in which case your old 10.5 programs relying on those frameworks *will* stop working (I think they did that with QuickTime?).<div><br></div><div>Basically, if Apple cared they could make this stuff work. But they don&#39;t, so migration becomes a major hassle.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 2, 2015 at 9:52 AM, Brandon Allbery <span dir="ltr">&lt;<a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span class=""><div class="gmail_quote">On Fri, Oct 2, 2015 at 9:31 AM, Bachsau <span dir="ltr">&lt;<a href="mailto:web@bachsau.name" target="_blank">web@bachsau.name</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maybe. Seems like I&#39;m just not getting what is technically causing these problems. When libraries change, and it breaks a particular application, why can&#39;t I recompile just that? And why would the build of a newly installed port fail, just because there are other ports installed that were compiled against older system libraries?</blockquote></div><br></span>Dependencies. Port X compiles against new libSystem, depends on port Y that was linked against old libSystem, link fails because it tries to bring in both versions and they conflict. (Keeping around old libSystem versions is how you can still run applications built for 10.5 on 10.10/10.11.)</div><div class="gmail_extra"><br></div><div class="gmail_extra">This doesn&#39;t happen on Linux because glibc is obsessive about maintaining backward compatibility interfaces, so the older program links against the current glibc and uses compatibility interfaces from it; this works even for libraries. Apple doesn&#39;t care about backward compatibility enough to do things that way.<span class=""><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div></div>
</span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div></div>
</div>