2016-03-24 7 views
2

Diese Frage ist an Personen gerichtet, die mit SimGrid vertraut sind. Ich habe seit gestern rätseln, aber ich kann kein Beispiel von Simgrid-Java starten. Jeder von ihnen scheitert mit einer Ausnahme:UnatisfiedLinkError beim Ausführen von SimGrid-Java-Beispiel unter Ubuntu

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) 

Wie kann ich dieses Problem lösen?

Hier sind die detaillierten Schritte, die ich gefolgt Beispiele für SimGrid-Java auszuführen:

1) I aus here Zip-Datei

1a heruntergeladen) I libboost-context-dev installiert haben, so ist es libboost-context-dev is already the newest version. ist

2) In den Beispielen-java ich betreibe javac -classpath /home/ken/Downloads/simgrid.jar async/AsyncTest.java

3) Dann laufe ich java -classpath .:/home/ken/Downloads/simgrid.jar async/AsyncTest ../platforms/platform.xml ./async/asyncDeployment.xml

Hinweis

: Ich benutze java version "1.7.0_95"

+1

Nun wahrscheinlich ist dies wirklich nicht zu SimGrid verwendet. Es sagt Ihnen, es findet nicht die libboost_context.so.1 shared library. Sie sollten versuchen, es zu installieren (von Ihrem Paketmanager). Auf einem Debian-basierten Betriebssystem: apt-get install libboost-context-1.55.0 – ysdx

Antwort

2

Dies ist ein documented Fehler in der v3.12 Freisetzung von SimGrid.

Wie von ysdx festgestellt, sollten Sie die boost-context-Bibliothek manuell auf Ihrem Computer installieren, damit diese JAR-Datei funktioniert. Diese Bibliothek muss genau in Version 1.55 vorliegen. Falls Sie einen Ubuntu oder Debian haben, einfach diesen Typ in einem Terminal: apt-get install libboost-context1.55.0

Wenn Ihr System beschwert, dass dieses Paket nicht in Ihrer Distribution nicht vorhanden ist, dann ist diese Version der JAR-Datei ist auf Ihrem Rechner nicht verwendbar. Wenn dies der Fall ist, versuchen Sie, eine andere Version der JAR-Datei aus den nächtlichen Builds von Jenkins, as explained in the documentation, herunterzuladen.