You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@arrow.apache.org by Juan J Galvez <ju...@bodo.ai> on 2021/04/26 17:36:01 UTC

[C++] [pip] libarrow.so dynamic linking error from C++17 compiled code

Hello,



The shared libraries in the pyarrow pip package apparently cannot be called
from C++17 compiled code. Compilation works when using the `pyarrow/include`
headers provided with the pip package, but at dynamic linking I get this error
when linking with libarrow.so.300:



undefined symbol:
_ZN5arrow8internal14DieWithMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE



The Arrow libraries in conda-forge pyarrow and arrow-cpp packages don’t have
this issue. The symbol is present in the library and code compiled with C++11
or C++17 works.



Thanks


RE: [C++] [pip] libarrow.so dynamic linking error from C++17 compiled code

Posted by Juan J Galvez <ju...@bodo.ai>.
This worked! Thank you!





 **From:**[Antoine Pitrou](mailto:antoine@python.org)  
 **Sent:** Tuesday, April 27, 2021 3:34 AM  
 **To:**[user@arrow.apache.org](mailto:user@arrow.apache.org)  
 **Subject:** Re: [C++] [pip] libarrow.so dynamic linking error from C++17
compiled code





Hello Juan,



Can you try passing -D_GLIBCXX_USE_CXX11_ABI=0 when compiling your

C++17 compiled code?



Regards



Antoine.





On Mon, 26 Apr 2021 12:36:01 -0500

Juan J Galvez <ju...@bodo.ai> wrote:

> Hello,

>

>  

>

> The shared libraries in the pyarrow pip package apparently cannot be called
from C++17 compiled code. Compilation works when using the `pyarrow/include`
headers provided with the pip package, but at dynamic linking I get this error
when linking with libarrow.so.300:

>

>  

>

> undefined symbol:
_ZN5arrow8internal14DieWithMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

>

>  

>

> The Arrow libraries in conda-forge pyarrow and arrow-cpp packages don’t have
this issue. The symbol is present in the library and code compiled with C++11
or C++17 works.

>

>  

>

> Thanks










Re: [C++] [pip] libarrow.so dynamic linking error from C++17 compiled code

Posted by Antoine Pitrou <an...@python.org>.
Hello Juan,

Can you try passing -D_GLIBCXX_USE_CXX11_ABI=0 when compiling your
C++17 compiled code?

Regards

Antoine.


On Mon, 26 Apr 2021 12:36:01 -0500
Juan J Galvez <ju...@bodo.ai> wrote:
> Hello,
> 
>  
> 
> The shared libraries in the pyarrow pip package apparently cannot be called from C++17 compiled code. Compilation works when using the `pyarrow/include` headers provided with the pip package, but at dynamic linking I get this error when linking with libarrow.so.300:
> 
>  
> 
> undefined symbol: _ZN5arrow8internal14DieWithMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
> 
>  
> 
> The Arrow libraries in conda-forge pyarrow and arrow-cpp packages don’t have this issue. The symbol is present in the library and code compiled with C++11 or C++17 works.
> 
>  
> 
> Thanks




Re: [C++] [pip] libarrow.so dynamic linking error from C++17 compiled code

Posted by Wes McKinney <we...@gmail.com>.
hi Juan — evidently this has something to do with the
manylinux201x toolchain. You might bubble this issue up to dev@ and also
open a Jira issue with as much information needed to help reproduce

On Mon, Apr 26, 2021 at 12:36 PM Juan J Galvez <ju...@bodo.ai> wrote:

> Hello,
>
>
>
> The shared libraries in the pyarrow pip package apparently cannot be
> called from C++17 compiled code. Compilation works when using the
> `pyarrow/include` headers provided with the pip package, but at dynamic
> linking I get this error when linking with libarrow.so.300:
>
>
>
> undefined symbol:
> _ZN5arrow8internal14DieWithMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>
>
>
> The Arrow libraries in conda-forge pyarrow and arrow-cpp packages don’t
> have this issue. The symbol is present in the library and code compiled
> with C++11 or C++17 works.
>
>
>
> Thanks
>