Thank you, this is solved now. On Thursday, September 12, 2024 at 1:08:13 PM UTC-7 Aldrin wrote:
> Hello! > > I am trying to figure out how to make this work and hitting issues with > every approach I have tried. > > The core of my scenario can be seen here Gist - protobuf dependency graph > <https://gist.github.com/drin/825d46f519a58d4ca62a56104441d377>. I have > my own project mohair (we can call "A") and I am trying to link against > duckdb (we can call "B"), and both use substrait (we can call "ProtoLib") > and arrow (we can call "C"). > > I am hoping to find some reasonable solution to the above that either uses > only cmake (used by duckdb), or is build system diagnostic (I prefer to use > meson). Below, I describe what I have tried and what errors I get. > > When building duckdb and arrow together (B + C + ProtoLib), all is well. > When building mohair and arrow together (A + C + ProtoLib), all is well. > When building mohair and duckdb and arrow together (A + B + C + ProtoLib), > I get one of a variety of errors: > * with duckdb's vendored protobuf sources, I get version mismatch on protoc > * when updating duckdb's vendored protobuf sources, I get duplicate > descriptor errors (sharing a pool without sharing descriptors?) > * when migrating substrait to its own library, which I link against from > duckdb and mohair, I get either: (1) undefined symbol errors (trying to > change which library links protobuf) or (2) duplicate descriptor errors > * when trying to build everything together (in hopes of explicitly reusing > the same descriptors), I have various build issues > > As far as building everything together, I am customizing duckdb extensions > which seem to be required to be out-of-source. However, building it as a > meson subproject seemingly requires the extensions to be in-source. The > last thing I am going to try is to build everything together using cmake > only, but this will not work beyond this prototype and I need a portable > solution. > > Thank you for any help! > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/958b8f46-0c7f-41ff-91a5-2f1ca2cc601dn%40googlegroups.com.