[ https://issues.apache.org/jira/browse/ARROW-9626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wes McKinney closed ARROW-9626. ------------------------------- Resolution: Duplicate Dup of ARROW-9624 > JVM failed when use gandiva udf with dynamic libraries > ------------------------------------------------------ > > Key: ARROW-9626 > URL: https://issues.apache.org/jira/browse/ARROW-9626 > Project: Apache Arrow > Issue Type: Bug > Components: C++ - Gandiva, Java > Environment: OS:Centos7.4 > llvm:7.0.1 > jdk:1.8.0_162 > arrow:1.0.0 > Reporter: Leo89 > Priority: Major > Attachments: hs_err_pid28288.log > > > Hi there, > Recently I'm trying to add some UDF with dynamic link libaries. It is fine > compiling and running test in cpp, but when I call the udf from java, JVM > failed with errors. > Steps to reproduce the issue > 1 Prepare dynamic library 'libmytest.so' > {code:java} > // code placeholder > #ifndef MYTEST_H > #define MYTEST_H > #ifdef __cplusplus > extern "C"{ > #endif > float testSim(); > #ifdef __cplusplus > } > #endif > #endif > {code} > > 2 Add simple code for the udf in file 'string_ops.cc' > {code:java} > // code placeholder > FORCE_INLINEFORCE_INLINE > gdv_float32 test_sim_binary_binary(gdv_int64 context, const char* left, > gdv_int32 left_len, const char* right, gdv_int32 right_len) { > float sim = testSim(); > return sim; > } > {code} > 3 Add function details in the function registry file > 'function_registry_string.cc' > {code:java} > // code placeholder > NativeFunction("test_sim", {}, DataTypeVector{binary(),binary()},float32(), > kResultNullIfNull, "sim_binary_binary", NativeFunction::kNeedsContext | > NativeFunction::kCanReturnErrors), > {code} > 4 Create test functions > 5 Add link to the CMakeLists.txt > 5 compile and test > 6 write a java demo to call the udf -- This message was sent by Atlassian Jira (v8.3.4#803005)