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. On Thu, Feb 17, 2022 at 4:02 AM Vasil Velichkov <vvvelich...@gmail.com> wrote: > 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 >