当我试图运行我的一个Java应用程序(部署在IBM Websphere App服务器中)时,我得到以下错误,
java.lang.UnsatisfiedLinkError: PATH/file.so (EDC5253S AMODE64应用程序正在尝试加载AMODE31动态链接库加载模块。java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1344)上的(errno2=some_address))
有没有人遇到过同样的AMODE64问题?
或者有人能提供关于如何将代码编译成AMODE64的信息。
在这方面的任何参考也会有很大的帮助。
提前谢谢。
发布于 2018-06-06 09:11:08
在z/OS上,如果您使用的是Language Environment,那么您就不能有一个混合的单地址应用程序,该应用程序的某些部分编译为31位,而有些部分编译为64位。所有现代高级语言-do- use语言环境(例如C、C++、Java、COBOL、PL/I),所以这就是导致您的问题的原因。根据您正在使用的Java版本,您可以切换到31位JVM,或者(最好)将C DLL重新编译并重新链接为64位。
发布于 2018-03-19 20:22:25
您询问了如何在64位模式下编译代码的信息,但通常情况下,作为最终用户,您不会这样做,本地库/dll的提供者会这样做,因为您需要源代码。您在上面的错误消息中将库的文件名替换为PATH/file.so,因此我无法为您提供关于该库的提供者可能是谁的任何指导。使用库的名称,搜索提供程序,然后向他们询问以64位模式编译的库的版本。如果您拥有该库的代码,请参阅this IBM KnowledgeCenter topic获取有关如何在64位模式下编译和绑定代码的信息。
https://stackoverflow.com/questions/49356450
复制相似问题