Skip to content

[C++] libarrow2500 is not usable with pyarrow==25.0.0 #50648

Description

@adsharma

Describe the bug, including details regarding any error messages, version, and platform.

A C++ open source library (icebug) provides python bindings. It needs to link to both C++ libarrow2500 and pyarrow. This was possible in the 23.x and 24.x releases and failing with 25.x as follows:

arrow::internal::tracing::UnwrapSpan(arrow::util::tracing::SpanDetails*)

is used by .venv/lib/python3.12/site-packages/pyarrow/libarrow_acero.so.2500, so we get a failure at "import pyarrow" time. Looking for suggestions on how to resolve.

Repro:

uv venv --python 3.12
uv pip install pyarrow
sudo apt-get install -y libarrow-dev=25.0.0-1 # from the apache arrow ubuntu 24.04 repo

nm -D /usr/lib/x86_64-linux-gnu/libarrow.so.2500.0.0 | grep UnwrapSpan # not present
nm -D .venv/lib/python3.12/site-packages/pyarrow/libarrow.so.2500 | grep UnwrapSpan # present
import mylib  # links to /usr/lib/x86_64-linux-gnu/libarrow.so.2500.0.0 
import pyarrow # fails with undefined UnwrapSpan

This is working ok on windows/macosx. Fails only on linux.

Ladybug-Memory/icebug#56

Component(s)

C++

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions