[ 
https://issues.apache.org/jira/browse/ARROW-4274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pindikura Ravindra updated ARROW-4274:
--------------------------------------
    Description: 
With the decimal changes, there can be cpp calls from the IR code. The symbols 
for these  need to be visible in the gandiva cpp library. but, the jni library 
makes visible only a limited set of symbols from gandiva (the ones specified in 
src/gandiva/jni/symbols.map).

This breaks  if the jni library links with the static-libstdc++ (dremio builds 
the gandiva binary with stdc++ statically linked) due to two reasons
 # The cpp symbols like std::ios_base::init are not exported via symbols.map. 
This causes LLVM to complain that there is are unresolved symbols.
 # Also, there is a problem with exceptions (string_view.hpp can throw 
exceptions) - This also causes LLVM to complain that unwindResume is unresolved.

  was:
With the decimal changes, there can be cpp calls from the IR code. The symbols 
for these  need to be visible in the gandiva cpp library. but, the jni library 
makes visible only a limited set of symbols from gandiva (the ones specified in 
src/gandiva/jni/symbols.map).

This breaks  if the jni library links with the static-libstdc++ (dremio builds 
the gandiva binary with stdc++ statically linked) due to two reasons
 # The cpp symbols like std::ios_base::init are not exported via symbols.map. 
This causes LLVM to complain that there is are unresolved symbols.
 # Also, there is a problem with exceptions (string_view.hpp can throw 
exceptions) - This alsi causes LLVM to complain that unwindResume is unresolved.


> [Gandiva] static jni library broken after decimal changes
> ---------------------------------------------------------
>
>                 Key: ARROW-4274
>                 URL: https://issues.apache.org/jira/browse/ARROW-4274
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Gandiva
>            Reporter: Pindikura Ravindra
>            Assignee: Pindikura Ravindra
>            Priority: Major
>
> With the decimal changes, there can be cpp calls from the IR code. The 
> symbols for these  need to be visible in the gandiva cpp library. but, the 
> jni library makes visible only a limited set of symbols from gandiva (the 
> ones specified in src/gandiva/jni/symbols.map).
> This breaks  if the jni library links with the static-libstdc++ (dremio 
> builds the gandiva binary with stdc++ statically linked) due to two reasons
>  # The cpp symbols like std::ios_base::init are not exported via symbols.map. 
> This causes LLVM to complain that there is are unresolved symbols.
>  # Also, there is a problem with exceptions (string_view.hpp can throw 
> exceptions) - This also causes LLVM to complain that unwindResume is 
> unresolved.



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

Reply via email to