title: Symbol from shared library not found, though defined
body: <p>I'm working on C++ code called, via pybind11, from a Python (v3.8) application on Ubuntu 20.04.</p>
  <p>Running the application I get an error</p>
  <pre><code>Traceback (most recent call last):
  snip...
  ImportError: &lt;full-path&gt;/&lt;lib-name-A&gt;.so: undefined symbol: &lt;mangled symbol name&gt;
  </code></pre>
  <p>ldd on lib-name-A output gives the absolute path to lib B in which the symbol is defined. nm -s --demangle on lib B shows the symbol is defined in the text section. Just to be sure, I compared the mangled name, and the one in lib B is identical to the one given in the error message.</p>
  <p>So, given the library exists where ldd shows its expected, and the symbol is defined in it, why do I get the error message?</p>