Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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 错误的ELF类:如何成功安装OpenSpiceDDS?_Java_Linux_Centos7_Opensplice - Fatal编程技术网

Java 错误的ELF类:如何成功安装OpenSpiceDDS?

Java 错误的ELF类:如何成功安装OpenSpiceDDS?,java,linux,centos7,opensplice,Java,Linux,Centos7,Opensplice,我一直在尝试在CentOS上安装并成功运行OpenSplice DDS,最初的目标是安装它并运行HelloWorld示例(Java),我确实使用make,对需要编译的订阅者和发布者步骤(of.jar)进行了必要的编译,编译阶段非常紧迫,我已经为此工作了将近2-3周,问题是,很少有文档和/或资源讨论与DDS安装相关的问题(而且有很多),我也尝试咨询我的教授,他向我暗示这可能是一个兼容性问题,有时,当我修复此安装中的一个问题时,会出现另一个问题,以下是我当前的输出: [root@localhost

我一直在尝试在CentOS上安装并成功运行OpenSplice DDS,最初的目标是安装它并运行HelloWorld示例(Java),我确实使用
make
,对需要编译的订阅者和发布者步骤(of
.jar
)进行了必要的编译,编译阶段非常紧迫,我已经为此工作了将近2-3周,问题是,很少有文档和/或资源讨论与DDS安装相关的问题(而且有很多),我也尝试咨询我的教授,他向我暗示这可能是一个兼容性问题,有时,当我修复此安装中的一个问题时,会出现另一个问题,以下是我当前的输出:

[root@localhost standalone]# java -jar saj_helloworld_sub.jar 
OpenJDK 64-Bit Server VM warning: You have loaded library /root/Downloads/HDE/x86.linux/lib/libdcpssaj.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
org.opensplice.dds.dcps.DomainParticipantFactoryImpl.get_instance() failed: /root/Downloads/HDE/x86.linux/lib/libdcpssaj.so: /root/Downloads/HDE/x86.linux/lib/libdcpssaj.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
Exception in thread "main" java.lang.NullPointerException
    at DDS.DomainParticipantFactory.create_participant(Unknown Source)
    at DDSEntityManager.createParticipant(DDSEntityManager.java:67)
    at HelloWorldDataSubscriber.main(HelloWorldDataSubscriber.java:38)
系统详细信息:

# uname -a
Linux localhost.localdomain 3.10.0-327.36.1.el7.x86_64#1 SMP Sun Sep 18 13:04:29 UTC 2016 x86_64 x86_64 GNU/Linux


因此,
错误的ELF类
是我可能遇到的错误之一,安装DDS和正确工作的困难不仅仅是我一个人遇到的,我的一些其他朋友也有不同的错误,而且因为没有关于OpenSplice DDS安装的在线资源和讨论(除了官方网站和自述文件外),我决定开始讨论。

您运行的是64位操作系统,
x86\u 64
表明了这一点

您正在运行64位java虚拟机-
OpenJDK 64位服务器虚拟机(构建25.111-b15,混合模式)

您有一个32位库:
/root/Downloads/HDE/x86.linux/lib/libdcpssaj.so:错误的ELF类:ELFCLASS32(可能原因:体系结构字宽不匹配)

最简单的解决方法是下载64位版本的OpenSplice DDS以解决此问题

# uname -a