Comment 32 for bug 596327

Revision history for this message
Adam Stylinski (kungfujesus06) wrote :

My knowledge of C/C++ compilers I wouldn't say is thorough as of yet, but it's possible it's a link time related error where the symbol tables do not line up among the shared libraries. API breakage is quite common among libraries even if the interface is seemingly the same. Normally you intentionally change the API's shared lib name to force other packages to build against the new version of the library whenever you have API changes. In many circumstances you can make changes to the code without worrying about API breakage, but I'm pretty sure there are circumstances that will force a recompile or relink. Pretty sure changing the implementation of functions within a library will cause the API to break if the underlying application operates on data structures utilized by the library. Here's a paper on how APIs can break:
http://syrcose.ispras.ru/2009/files/02_paper.pdf

It's a good read if you have the time.