> On Oct 2, 2015, at 07:00, Brandon Allbery <allber...@gmail.com> wrote: > > I should note that that's just an example; libSystem has only changed that > way once, I think.
Do you have a radar or forum post or something regarding this example of where libSystem broke in a binary incompatible way (and wasn't seen as a bug and wasn't fixed)? If you notice, we've gone to great lengths to maintain binary compatibility which is why we have so many symbol variants for cases where we needed to change behavior (eg: for our change to 64bit inodes, for UNIX2003 conformance changes, etc). > 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'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?). Frameworks are removed from the SDK after a long period of deprecation, but the binaries are still shipped long after that for binary compatibility. Take a look, and you will see that /System/Library/Frameworks/QuickTime.framework is still there. > Basically, if Apple cared they could make this stuff work. But they don't, so > migration becomes a major hassle. File radars if you think there are problems. FWIW, I don't migrate, and I don't have problems. > > On Fri, Oct 2, 2015 at 9:52 AM, Brandon Allbery <allber...@gmail.com> wrote: > On Fri, Oct 2, 2015 at 9:31 AM, Bachsau <w...@bachsau.name> wrote: > Maybe. Seems like I'm just not getting what is technically causing these > problems. When libraries change, and it breaks a particular application, why > can'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? > > 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.) > > This doesn'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't care about backward compatibility enough to do > things that way. > > -- > brandon s allbery kf8nh sine nomine associates > allber...@gmail.com ballb...@sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net > > > > -- > brandon s allbery kf8nh sine nomine associates > allber...@gmail.com ballb...@sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net > _______________________________________________ > macports-users mailing list > macports-users@lists.macosforge.org > https://lists.macosforge.org/mailman/listinfo/macports-users
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users