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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/e05eed11-d423-434e-9999-4672c9abe5a2n%40googlegroups.com.

Reply via email to