Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
also provide an informative error message when Java is missing boost-context
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 12 Apr 2016 20:16:58 +0000 (22:16 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 13 Apr 2016 14:31:27 +0000 (16:31 +0200)
src/bindings/java/org/simgrid/NativeLib.java

index de5d17c..4af8a63 100644 (file)
@@ -41,10 +41,16 @@ public final class NativeLib {
                                        
                                        System.err.println("\nCannot load the bindings to the "+name+" library in path "+getPath());
                                        Throwable cause = embeededException.getCause();
-                                       if (cause instanceof java.lang.UnsatisfiedLinkError && cause.getMessage().matches(".*libcgraph.so.*"))
-                                               System.err.println("HINT: Try to install the libcgraph package (sudo apt-get install libcgraph).");
-                                       else
+                                       if (cause instanceof java.lang.UnsatisfiedLinkError) {
+                                               if (cause.getMessage().matches(".*libcgraph.so.*"))
+                                                       System.err.println("HINT: Try to install the libcgraph package (sudo apt-get install libcgraph).");
+                                               else if (cause.getMessage().matches(".*libboost_context.so.*"))
+                                                       System.err.println("HINT: Try to install the boost-context package (sudo apt-get install libboost-context-dev).");
+                                               else
+                                                       System.err.println("Try to install the missing dependencies, which name should appear above.");                                                 
+                                       } else {
                                                System.err.println("This jar file does not seem to fit your system, and no usable SimGrid installation found on disk.");
+                                       }
                                        System.err.println();
                                        cause.printStackTrace();
                                        System.exit(1);