>> I think, libs compiled with gcc 2.95 just should reside in separate >> directory, say, /usr/lib/gcc-2.95-compat. Gcc 3.2.x should be run as >> gcc or gcc-3.2. Gcc 2.95.x should be run as gcc-2.95. > >That will work; the question then is how to automatically create all >those packages - you'ld need a gcc-2.95-compat package for every >package that contains libraries that directly or indirectly depend on >libstdc++.
No need to do it automatically. Everything should be recompiled with gcc 3.2. gcc-2.95-compat dir is for that small amount of packages (and their dependencies, including libstdc++) that temporary cannot be compiled by gcc 3.2. That should be done by correspondent package maintainers. Off course, this plan will work only if the amount of "gcc-2.95-compat"-packages is small. I propose some mixing of variant 1 and variant 3 from your original message. But instead of mangling the compiler version in soname I propose putting "gcc-2.95-compat"-SOs in a separate directory preserving their names. BTW, how did Debian switch from libc5 to libc6 some years ago?