此问题面向熟悉SimGrid的人。 我从昨天起就一直在困惑,但我无法从simgrid-java发布任何例子。他们每个都失败,但有例外:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/simgrid-java455637045639603622/libsimgrid.so: libboost_context.so.1.55.0: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
at java.lang.Runtime.load0(Runtime.java:795)
at java.lang.System.load(System.java:1062)
at org.simgrid.NativeLib.loadLib(NativeLib.java:116)
at org.simgrid.NativeLib.nativeInit(NativeLib.java:35)
at org.simgrid.NativeLib.nativeInit(NativeLib.java:26)
at org.simgrid.msg.Msg.<clinit>(Msg.java:115)
at async.AsyncTest.main(AsyncTest.java:14)
我该如何解决这个问题?
以下是我运行SimGrid-Java示例的详细步骤:
1)我从here
下载了zip文件 1a)我已经安装了libboost-context-dev
,因此它是libboost-context-dev is already the newest version.
2)在examples-java目录中,我运行javac -classpath /home/ken/Downloads/simgrid.jar async/AsyncTest.java
3)然后我运行java -classpath .:/home/ken/Downloads/simgrid.jar async/AsyncTest ../platforms/platform.xml ./async/asyncDeployment.xml
注意:我使用java version "1.7.0_95"
答案 0 :(得分:2)
这是SimGrid v3.12版本中的documented错误。
如ysdx所述,您应该在您的计算机上手动安装boost-context库,以使此jar文件正常工作。该库必须精确地使用1.55版。如果您有Ubuntu或Debian,只需在终端中键入:
apt-get install libboost-context1.55.0
如果您的系统抱怨您的发行版中不存在此软件包,则此版本的jar文件在您的计算机上不可用。如果发生这种情况,请尝试从Jenkins as explained in the documentation的每晚构建中下载另一个版本的jar文件。