I always feel the Linux people learn the wrong lesson from these events.<p>The difference between the Linux and the OpenBSD mentality in one example.<p>The ABI must be changed.<p>Linux: That was really hard, we are never going to do that again.<p>OpenBSD: That was really hard, we better get good at it.<p>My opinion: When your deliverable is made up of source code(like these <i>open source</i> projects are), the ABI and ABI stability is not that important, it is the API(the source interface) that is critical.
FWIW, this ABI break was reverted 2 weeks after the LWN article was released:<p><pre><code> commit 2f438e20ab591641760e97458d5d1569942eced5
Author: Stefan Liebler <___.ibm.com>
Date: Thu Jul 31 20:04:54 2014 +0200
S/390: Revert the jmp_buf/ucontext_t ABI change.</code></pre>
> Debian's developers ... considered rebuilding all of Perl and then, perhaps, all (500 or so) packages depending on the PNG library<p>libpng using setjmp.h for error handling was always my least favorite part of libpng, especially since the libpng documentation indicates it was just done for convenience (tell that to the authors of the OP!):<p>> The motivation behind using setjmp() and longjmp() is the C++ throw and catch exception handling methods. This makes the code much easier to write, as there is no need to check every return code of every function call.
> libc.so.6.1<p>My brain hurts-- if libc.so.6.1 is a nightmare, then what is the utility of having the libc.so.6 soname numbering at all?<p>I'll put it in a more effective wrong-thing-on-the-internet style for receiving responses: There's no point in using NixOS. Just use lib.so.versionNumber. (Sorry) :)