> 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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to