On Sun, 2006-03-05 at 00:20 -0300, Pedro Lamarão wrote:
Nicholas Miell wrote:
>>C++ is excellent for library development.
> You have failed to consider what happens when multiple objects link to
> different ABI-incompatible versions of libstdc++.
I have not. Of course there are problems with linking together objects
which themselves are linked against incompatible versions of the same
I shouldn't have to care, and incompatible versions of the same library
BUT, as I said, this is not a problem simply because libraries break
ABI, this is a problem because systems administrators and/or users, for
some random reason, decide to use the latest.
Or perhaps they upgraded their OS.
Why are you linking new objects against the latest when already
necessary, objects are linked against something older?
I'm not. I'm linking them against the system-supplied library chosen by
the compiler. Of course, I can't actually distribute this object,
because my end users might have other objects linked against newer or
older versions of libstdc++.
Are we talking about "absolute" requirements like some new
must have that is not compatible with your current system? Oops, not
compatible with your current system.
Are you upgrading your system compiler, together with your system
libraries, to a newer, ABI breaking, version? Oops, not compatible with
your current system.
Are you doing it just because newest is best? Whoa.
Are you doing it without even noticing? Whoa. Why are you compiling
This is the free software world. If you were being forced to upgrade to
ABI breaking versions, because, say, your commercial vendor says so, I'd
understand your woes. But you're not. The source for older free software
is available for as long as we're competent to keep the storage running.
I never heard of relevant free software being lost forever for any reason.
Ah, so you think that N different versions of program compiled for FC 4,
FC 3, FC 2, FC 1, RHEL 4, RHEL 3, CentOS 4, CentOS 3, SLES 9, NLD 9,
SuSE Linux 10, Debian etch, Debian 3.1, Ubuntu 5.10, Ubuntu dapper
drake, Mandriva 2006, and Slackware 10.2 is a good thing? (And that's
just the big distros...)
Nicholas Miell <nmiell(a)comcast.net>