Shared libraries diamond problem
If you split up code into different libraries you can get a diamond dependency problem.
That is you have two parts of your code that depend on different incompatible versions of the same library.
Normally you shouldn't get in this situation. Only someone who hates their users
makes a non backwards compatible change to a library ABI. You don't hate your users, do you?
(just kidding about hating your users.)
Disclaimer
I thought I'd dive into this problem as a weekend project.
Don't rely on this article as a source of truth, but please correct me
where I'm wrong. I'm not an expert in creating shared libraries, and it's much harder
that it would first appear. The existence of libtool proves that.
Example project described can be found here .
Multiple versions of the same library
The lovely land of modern Unix will allow you to have multiple versions of the same library
installed at th...