nm /usr/lib/libsmbclient.so shows that libsmbclient exposes a _lot_ of symbols that are probably just useless, since they are not declared in libsmbclient.h, and this can easily brings conflicts, sometimes undetected. An easy way to mask them on GNU systems at least is to use a map file like the one I'll attach, which only exposes smbc_* functions.
Created attachment 2253 [details]
Map file, to be passed to GNU ld via --version-script option
Should have gotten fixed by Julien's linker script