On Mon, Jan 06, 2003 at 06:53:45PM +0100, Adrian 'Dagurashibanipal' von Bidder wrote: > On Mon, 2003-01-06 at 18:26, H. S. Teoh wrote: > > On Mon, Jan 06, 2003 at 04:56:58PM +0000, Eduardo Pérez Ureta wrote: > > [snip] > > > I'm also opposed to this form of transition like other Debian developers. > > > I would like to see all the sonames changed. > > > > Then IMHO you should request upstream library maintainers to bump their > > sonames whenever API/ABI breaks. That is the root cause of the problem. > > Upstream has no way to know that you'll compile with a specific compiler > version. Upstream API is not the problem. Compiler changes that force > ABI changes are the problem here, so far I understand these issues. [snip] Ahh, now I understand. So this is not a problem with the upstream API, but an ABI incompatibility introduced by gcc 3.2. This is a different can of worms. Upstream sonames can only describe API changes (and ABI changes to a limited extent), but we're dealing with ABI changes caused by compiler differences here. The two are orthogonal as far as I can see. Ideally, compiler ABI's should be versioned as well, and this should also be incorporated as part of the soname. The compiler used to build the library should ideally incorporate its ABI version into the soname. However, absent of a widely-adopted convention on this, there seems to be little that we can do without breaking *something*. Are there any architecture-wide conventions for C++ .so ABI's? (From the little I know, it seems not; which would explain the problems we're having here.) On another note, *somebody* should take the step to incorporate both API (at the library source level) and ABI (from the compiler) versions in a soname. Otherwise the system is fundamentally broken, and this problem is guaranteed to happen again in the future. Whether or not Debian should be the one to take this step, I don't know. T -- Some people complain about the Instant Gratification Syndrome of today's generation, and just *can't wait* to let everyone know that.
Description: PGP signature