So here comes the first wrinkle: I'm doing this in a conda environment and not using libs in /usr. Additionally, I am using a version of protobuf I compile.
I believe that I found the problem. I've been using a script to setup conda with a few packages that I need. I believe that at some point I added a package that had protobuf as a dependacy. This version of protobuf conflicted with the version that I was compiling by hand. After getting rid of the version I compiled by hand, and explicitly installing conda's version, everything seems to work fine.
There is also a chance there was an issue related to the protoc path. I noticed that when using swig from conda that find_package(SWIG) would find the correct library, but the wrong swig executable. Something similar may have been happening with find_package(Protobuf) and protoc.
Hi Jameson,
On 16/02/2022 21.49, Jameson Collins wrote:
> I have an OOT module that uses Protobuf. Normally I link this against
> libprotobuf.so, however when I do this and attempt to import my module in
> python, I get errors about undefined symbols.
Normally this should not happen. What Linux distribution are you using and what version? Can you provide the full output of
ldd -r $(find /usr/ -name "libprotobuf.so*")
Also link with libprotobuf.so, go in your OOT build's directory and execute
ldd -r ./lib/lib*.so
and provide the full output as well.
Regards,
Vasil