libstdc++.so.x issue

Shen Wu swu@platform.com
Tue Nov 19 15:41:00 GMT 2002


Hi Phil,

Thank you very much for you information. It clarifies the number of my doubts in respect of the gcc compatibility.  As you pointed out we do need to rebuild our SDK for each of new GCC if it changes ABI i.e. with new libstdc++.so.x. I have not seen the Linux venders starting put all the versions of libstdc++.so.x in the Linux distributions yet. For instance in Redhat 8.0, we only have libstdc++.so.5 and do not have previous versions.

Thanks again.

Shen

-----Original Message-----
From: Phil Edwards [mailto:phil@jaj.com]
Sent: Tuesday, November 19, 2002 12:34 PM
To: Shen Wu
Cc: gcc@gcc.gnu.org
Subject: Re: libstdc++.so.x issue

On Tue, Nov 19, 2002 at 11:42:50AM -0500, Shen Wu wrote:
> Hi,
>
> We have a SDK type of application using C++ and built in gcc/g++. We provided *.so to our customers so that they can link their applications with it. We noticed that gcc standard library so file (libstdc++.so.x) keeps changing the version number. In gcc 3.0.4 it is libstdc++.so.3, in gcc 3.1 it is libstdc++.so.4 and now in gcc 3.2 it becomes libstdc++.so.5. Every time when a new version of gcc comes out, we have to rebuild our SDK. Otherwise, our SDK will not work for the machine with new gcc installed.

Yes.

> In term of glibc, the Linux vendors and GNU always do libc.so.6 -> libc-2.x.x.so. Therefore we do not have to rebuild our application as long as the new glibc backward compatible.

Yes.

> Anyone know what is the reason GNU doing this?

Because the new libstdc++ is /not/ backwards compatible.  If it were, the
number wouldn't change.

> What is the positioning of the major Linux vendors and GNU on this?

What I just said.

> Do they expect users rebuild their applications very time they update the OS/GCC?

If they want to take advantage of the new code, yet.  Vendors have methods
already in place for dealing with this.  Usually they simply provide all
the versions of the library, so that existing binaries continue to run.

There's nothing unique to libstdc++ about this.  Every other shared library
falls under the same consideration.

> Where can I find the information on this?

The mailing list archives at http://gcc.gnu.org/

--
I would therefore like to posit that computing's central challenge, viz. "How
not to make a mess of it," has /not/ been met.
                                                 - Edsger Dijkstra, 1930-2002



More information about the Gcc mailing list