5.3, libstc++, gcc34

David E. Cross crossd at cs.rpi.edu
Wed Sep 15 21:24:34 PDT 2004

I recently upgraded my 5.2.1-RELEASE-p# laptop to 5.3-BETA3 in order to
help test things out.  (Well, first I updated to BETA2, but I got nailed
by the UDMA ICH3 bug... that is fixed thankfully).  What I got nailed by
now is gcc34 and C++ ABI changing.  That's not "our" fault, I understand
and respect that.  What is our fault is not protecting the user from these
changes.  There are a fair number of people out there, early adopters, who
installed the 5.x-"RELEASE" branches (I emphasize the fact the these were
advertised as "-RELEASE" by "us"), who will now be screwed as a result,
with their only choice (other than playing library whack-a-mole... which I
have spent 5+hours on already on my personal laptop) is a complete
reinstall from scratch.  Many will find this unacceptable; If I were a
lesser user, I would.

There is a solution to this, bump the version number on the c++ libraries
in the core OS.  We have done this before for other GCC ABI changes, I
believe we even did this _within_ the 4.x-STABLE branch (I could be
mistaken on this).

What happens if we "don't" do this:

1) We screw early adopters, those who have run "-RELEASE" and helped us
get the bugs out, get performance numbers, etc.  These people may not be
developers, they really can be (and are) end users.

2) We screw application vendors who have developed code and products using
c++ for the 5.x branch (or just linked against libraries that then link to

3) We screw end developers (like I have at my location), who have started
developing and using code, rebuilding is not always an easy option.

What happens if we "do" do this (by "do" I mean bump version numbers):

1) We DON'T screw people following any of the 5.x-RELEASE branches

2) We screw those following -CURRENT... but this isn't stable anyway, and
they/we are told to expect this type of breakage.

3) We screw the beta testers, potentially.  They either had to do fresh
installs or reinstalls anyway, they don't have any substantial
infrastructure invested in the current system.

In short, as a vendor of a major OS, I would screw OS developers, and beta
testers NUMEROUS times before ever touching the end user; especially for a
product that has been -RELEASEed for over a year.

David E. Cross

More information about the freebsd-current mailing list