I'm working on C++ code called, via pybind11, from a Python (v3.8) application on Ubuntu 20.04.
Running the application I get an error
Traceback (most recent call last):
snip...
ImportError: <full-path>/<lib-name-A>.so: undefined symbol: <mangled symbol name>
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.
So, given the library exists where ldd shows its expected, and the symbol is defined in it, why do I get the error message?