
these plugins use functions from the host application (exposed via a header) but which cannot be resolved outside the context of the host.

Unfortunately i'm working with plugins, that dynamic libraries that are dlopen()ed by a host application. This works great, as long as the runtime linker can resolve the symbols (or not) based on the information in libfoo.so this will seldomly happen on the machine that was used to build libfoo.so, as the linker will already complain about missing symbols during the build phase. So this example seem to have an incompatible version of libbar.so installed, which lacks the bar_nullfn. Libbar.so.0 => /usr/local/lib/libbar.so.0


Usually, when developing libraries/application, one can use the ldd program to check external dependencies (linked in dynamic libraries) and undefined symbols: $ ldd -r libfoo.so
