[ 
https://issues.apache.org/jira/browse/ARROW-12142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17310936#comment-17310936
 ] 

Shane Harvey commented on ARROW-12142:
--------------------------------------

Thank you. Feel free to close this in that case. My only suggestion would be to 
add this error and the fix to an FAQ in the pyarrow documentation. 

> [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: Python
>    Affects Versions: 3.0.0
>         Environment:  ubuntu-20.04 in Github Actions CI
>            Reporter: Shane Harvey
>            Priority: Major
>
> 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)

Reply via email to