Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hadoop中奇怪的不满意链接错误_Java_Hadoop_Java Native Interface_Mapreduce - Fatal编程技术网

Java Hadoop中奇怪的不满意链接错误

Java Hadoop中奇怪的不满意链接错误,java,hadoop,java-native-interface,mapreduce,Java,Hadoop,Java Native Interface,Mapreduce,我在OpenCV linux版本上做了一个cmake,它创建了所有必需的共享对象(库)。 我甚至能够使用这些库从Java调用示例OpenCV程序,在我的系统上使用JNI。它正在运行。 但是当我尝试在Hadoop映射程序中使用 System.load("path/to/libhighgui.so.2.0"); 我得到一个错误: UnsatisfiedLinkError:/path/to/libhighgui.so.2.0: libjpeg.so.62: cannot open shared ob

我在OpenCV linux版本上做了一个cmake,它创建了所有必需的共享对象(库)。 我甚至能够使用这些库从Java调用示例OpenCV程序,在我的系统上使用JNI。它正在运行。 但是当我尝试在Hadoop映射程序中使用

System.load("path/to/libhighgui.so.2.0");
我得到一个错误:

UnsatisfiedLinkError:/path/to/libhighgui.so.2.0: libjpeg.so.62: cannot
open shared object file: No such file or directory
有趣的是,OpenCV上的CMake并没有创建这个libjpeg.so

您有什么帮助/解决方案吗? 提前谢谢


EDIT:其他库正在成功加载,我正在使用分布式缓存分发共享库。

ldd path/to/libhighgui.so.2.0在命令行上产生了什么效果

您的共享库依赖于其他共享库,这些共享库在运行时在标准库路径上不可用

您需要确保库所依赖的所有.so也位于每个群集节点的库路径上(或者是像/lib这样的标准系统路径,或者您需要修改java.library.path系统属性以包含非标准目录,或者在将本地文件夹添加到库路径时,也可以使用DistributedCache推送它们)