h-vetinari commented on issue #45033:
URL: https://github.com/apache/arrow/issues/45033#issuecomment-3863661104

   OK, now that azure got sorted I came back to this; with `-DNOMINMAX` in 
`CXXFLAGS` and the patch above, I got libarrow to build in 
https://github.com/conda-forge/arrow-cpp-feedstock/pull/1924; however, the 
tests all fail with
   ```
   E0000 00:00:1770442241.390220    6520 descriptor_database.cc:678] File 
already exists in database: opentelemetry/proto/common/v1/common.proto
   ```
   
   This has already come up in 
https://github.com/conda-forge/arrow-cpp-feedstock/pull/1048
   
   > > > > @h-vetinari:  it sounds like arrow shouldn't be re-loading the otel 
proto definitions?
   > > > 
   > > > @h-vetinari: To top things off, it looks like there's a third 
potential source for this (at least in conda-forge), in addition to 
opentelemetry & arrow: 
https://github.com/conda-forge/proto-opentelemetry-proto-feedstock
   > > 
   > > @xhochy: This happens if two libraries load the same protobuf definition 
in a different, conflicting version. We have the same problem with all the 
onnx-* packages. The workaround for this is build all (except at most one) with 
static protobuf so that each library gets its own protobuf (global) namespace.
   >
   > @lidavidm: Hmm, something seems wrong. Arrow itself shouldn't be loading 
the OpenTelemetry Protobuf generated code. Either we actually built a bundled 
copy of OpenTelemetry (doesn't seem so) or we still statically linked 
OpenTelemetry somehow? (Shouldn't be possible?) Or possibly multiple 
OpenTelemetry libraries included the Protobuf generated code?
   
   This was never solved because we ended up dropping windows from that PR. We 
do run into this problem in conda-forge occasionally, and I don't remember a 
durable solution (e.g. in 
https://github.com/conda-forge/tensorflow-feedstock/pull/437, we gave up, c.f. 
[this 
patch](https://github.com/conda-forge/tensorflow-feedstock/blob/2fee47423bf1054b6adc80caa597f53c3d4693df/recipe/patches/0041-Disable-profiler.patch#L8)).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to