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

Uwe L. Korn commented on ARROW-4844:
------------------------------------

[~jeroenooms] This is the expected behaviour. I guess what you need for the R 
bindings is an optional to bundle ALL static dependencies of {{libarrow.a}} 
into it? For the Python wheels, we built {{libarrow.so}} with all static 
dependencies included and then set the RPATH of the Python modules to 
{{$ORIGIN}} to always pick up the correct {{libarrow.so}}. If that would be 
possible for R, this would be a preferable solution from the build system side 
(and also from interop side as you then could use the same {{libarrow.so}} for 
Python and R).

> Static libarrow is missing vendored libdouble-conversion
> --------------------------------------------------------
>
>                 Key: ARROW-4844
>                 URL: https://issues.apache.org/jira/browse/ARROW-4844
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 0.12.1
>            Reporter: Jeroen
>            Priority: Major
>
> When trying to statically link the R bindings to libarrow.a, I get linking 
> errors which suggest that libdouble-conversion.a was not properly embedded in 
> libarrow.a. This problem happens on both MacOS and Windows.
> Here is the arrow build log: 
> https://ci.appveyor.com/project/jeroen/rtools-packages/builds/23015303/job/mtgl6rvfde502iu7
> {code}
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../lib/libarrow.a(cast.cc.obj):(.text+0x1c77c):
>  undefined reference to 
> `double_conversion::StringToDoubleConverter::StringToDouble(char const*, int, 
> int*) const'
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../lib/libarrow.a(converter.cc.obj):(.text+0x5fda):
>  undefined reference to 
> `double_conversion::StringToDoubleConverter::StringToDouble(char const*, int, 
> int*) const'
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../lib/libarrow.a(converter.cc.obj):(.text+0x6097):
>  undefined reference to 
> `double_conversion::StringToDoubleConverter::StringToDouble(char const*, int, 
> int*) const'
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../lib/libarrow.a(converter.cc.obj):(.text+0x6589):
>  undefined reference to 
> `double_conversion::StringToDoubleConverter::StringToFloat(char const*, int, 
> int*) const'
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
>  
> C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../lib/libarrow.a(converter.cc.obj):(.text+0x6647):
>  undefined reference to 
> `double_conversion::StringToDoubleConverter::StringToFloat(char const*, int, 
> int*) const'
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to