I wrote:
They all have the same limitation (except in a few cases where
upstream
renamed ALL the symbols of the library exactly to prevent that): They
CANNOT be directly or indirectly linked into one and the same executable.
E.g. it is NOT possible to use anything GTK+ 2 in a GTK+ 3 application.
Where this restriction was disobeyed, compatibility libraries HAVE lead to
symbol conflicts, e.g. this has been a problem very recently with Berkeley
db. (Unfortunately, I don't have the bug ID handy.) This is also one of
the reasons why compatibility libraries are discouraged in Fedora and only
to be used as a last resort, if porting the applications is impossible in
a reasonable timeframe.
PS: Another example of a symbol conflict:
http://www.valdyas.org/fading/index.cgi/2011/10/08#llvm
The issue there turned out to be that Gallium and OpenGTL both statically
linked LLVM, and were both linked into Krita. The fix was to make both
Gallium and OpenGTL link the shared system LLVM library. Only after BOTH
were changed to use the shared library, the problem went away.
Kevin Kofler