gcc - jni call involving open cobol dlls -
i trying invoke existing cobol application using jni. cobol application structure follows.
c-wrapper(main)-->cobolprogram -> several dyn(.so) , static called modules
the existing cobol application involves several statically called subprograms(cobol) , many dynamic(cobol) ones.
jni invocation of application ok, not locate , invoke cobol dynamic sub modules.
modified application structure (for jni) follows:
java class --> libjni.so --> appl.so
i verified cob_library_path , ld_library_path environment variables before call, seems fine.
following error message got in case dynamic modules.
libcob: ....<module>.so: undefined symbol: cob_save_call_params
i use 64 bit , 1.1.0 on linux. gcc used create binary using c output of cobc command
this issue can resolved specifying -lcob linkage option(when using gcc). gcc command used create binary contained option, mistakenly placed in between target , source file, not in effect. execution of dll without jni invocation, somehow not require -lcob option, jni invocation requires -lcob linkage option.
Comments
Post a Comment