Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
OS:Centos7.4
llvm:7.0.1
jdk:1.8.0_162
arrow:1.0.0
Description
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 placeholder #ifndef MYTEST_H #define MYTEST_H #ifdef __cplusplus extern "C"{ #endif float testSim(); #ifdef __cplusplus } #endif #endif
2 Add simple code for the udf in file 'string_ops.cc'
// 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; }
3 Add function details in the function registry file 'function_registry_string.cc'
// code placeholder NativeFunction("test_sim", {}, DataTypeVector{binary(),binary()},float32(), kResultNullIfNull, "sim_binary_binary", NativeFunction::kNeedsContext | NativeFunction::kCanReturnErrors)
4 Create test functions
5 Add link to the CMakeLists.txt
5 compile and test
6 write a java demo to call the udf