[
https://issues.apache.org/jira/browse/ARROW-12142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Antoine Pitrou updated ARROW-12142:
-----------------------------------
Priority: Minor (was: Major)
> [Python] undefined symbol:
> _ZN5arrow6StatusC1ENS_10StatusCodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
> --------------------------------------------------------------------------------------------------------------------
>
> Key: ARROW-12142
> URL: https://issues.apache.org/jira/browse/ARROW-12142
> Project: Apache Arrow
> Issue Type: Bug
> Components: Documentation, Python
> Affects Versions: 3.0.0
> Environment: ubuntu-20.04 in Github Actions CI
> Reporter: Shane Harvey
> Priority: Minor
>
> Using Ubuntu 20.04 in Github Actions CI to test a python extension that
> integrates with MongoDB and pyarrow, I get this error when attempting to
> import the Cython+pyarrow extension module:
> {code:python}
> ImportError: Failed to import test module: test_arrow
> Traceback (most recent call last):
> File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
> module = self._get_module_from_name(name)
> File "/usr/lib/python3.8/unittest/loader.py", line 377, in
> _get_module_from_name
> __import__(name)
> File
> "/home/runner/work/mongo-arrow/mongo-arrow/bindings/python/test/test_arrow.py",
> line 21, in <module>
> from pymongoarrow.api import aggregate_arrow_all, find_arrow_all, Schema
> File
> "/home/runner/work/mongo-arrow/mongo-arrow/bindings/python/pymongoarrow/__init__.py",
> line 18, in <module>
> from pymongoarrow.lib import libbson_version
> ImportError:
> /home/runner/work/mongo-arrow/mongo-arrow/bindings/python/pymongoarrow/lib.cpython-38-x86_64-linux-gnu.so:
> undefined symbol:
> _ZN5arrow6StatusC1ENS_10StatusCodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
> {code}
> The task installs pyarrow 3.0 from the manylinux2014 wheel:
> {code}
> Collecting pyarrow>=3
> Downloading pyarrow-3.0.0-cp38-cp38-manylinux2014_x86_64.whl (20.7 MB)
> {code}
> The same project works fine locally on macOS (10.15) also using pyarrow 3.0
> installed via pip. Upon googling I found this blog:
> https://uwekorn.com/2019/09/15/how-we-build-apache-arrows-manylinux-wheels.html
> The article explains that the fix for {{"undefined symbol:
> _ZN5arrow6StatusC1ENS_10StatusCodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"}}
> is to add {{-D_GLIBCXX_USE_CXX11_ABI=0}} to CFLAGS which did work for me.
> However, the article says this is only needed for manylinux1 wheels because
> they build on an old platform. Is it expected that users still need to define
> this flag when using manylinux2014 wheels?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)