title: Check if shared libraries are compatible with a binary?
body: <p><strong>Background</strong>:I have a large project which links dozens of shared libraries, both from external sources and from our own projects. Before delivery of a new software version I usually do <code>make clean all</code> and roll out all the executables and shared libraries which come with the project.</p>
  
  <p>Now it happens sometimes that a client prefers to have only an executable shipped, e.g. for a hot-fix, because their regulations require to test all affected functionality when changing a library, which means everything.</p>
  
  <p><strong>Question</strong>:
  What is the simplest way to decide if an executable is compatible to a set of shared libraries?</p>
  
  <hr>
  
  <p>Edit: My current approach is "If the headers of the libs have not changed it will be compatible", but that is an error prone approach and I would rather check the executable and libraries themselves.</p>