该问题针对的是熟悉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"

最佳答案

这是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文件的另一个版本。

08-04 04:51