Comment 45 for bug 2246

Revision history for this message
In , Jakub (jakub-redhat-bugs) wrote :

I don't see how can using a version script for immmodule.so (which is of course a
good thing) and libscim*.so help this. Those libraries link dynamically against
libstdc++.so, so the version script has no influence on what symbols are exported
from other shared libraries. libstdc++.so uses symbol versioning as well, but
if you use STL in the main program linked say with the old libstdc++.so (3.3 and
earlier), whatever makes into the binary and/or its libraries and is being
exported will be unversioned. This results in mixing of incompatible interfaces.
You can be lucky, as you from the above were in RHEL4. You aren't lucky anymore.
That's it.
It all depends on what exact symbols do get used and exported from where and
how they changed. Simply live with the fact that you really can't do this
reliably.