apache / apache/arrow

[C++][Python] pyarrow import fails when Arrow library is compiled with -fvisibility=hidden

Open
#41,871 0 comments 0 reactions 1 assignee Claimed by @WillAyd View on GitHub
Component: C++ Component: Python Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

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

I noticed when compiling the main Arrow library with -fvisibility=hidden you end up with two linker errors when trying to import pyarrow:

```python
>>> import pyarrow as pa
ImportError: /home/willayd/clones/arrow/python/pyarrow/libarrow_python.so: undefined symbol: _ZN5arrowlsERSoRKNS_10Decimal256E
```

The other error happens with Decimal128

Using `nm -CD pyarrow/libarrow_python.so | grep Decimal` helps map these undefined symbols back to `arrow::operator<<(std::ostream&, arrow::Decimal256 const&)` calls

### Component(s)

C++, Python

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.