Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[win+java] maybe libwinpthread is causing the segfaults on JNI startup that we see
authorMartin Quinson <martin.quinson@loria.fr>
Sun, 4 Oct 2015 13:07:13 +0000 (15:07 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Sun, 4 Oct 2015 13:07:16 +0000 (15:07 +0200)
So disable completely the use of pthread on windows, just to see if it
helps. If so, this will still have to be cleaned up properly.

src/bindings/java/org/simgrid/NativeLib.java
tools/cmake/CompleteInFiles.cmake
tools/cmake/Java.cmake

index cdb7710..61b4606 100644 (file)
@@ -20,8 +20,8 @@ public final class NativeLib {
                if (isNativeInited)
                        return;
                
-               if (System.getProperty("os.name").toLowerCase().startsWith("win"))
-                       NativeLib.nativeInit("winpthread-1");
+               //if (System.getProperty("os.name").toLowerCase().startsWith("win"))
+               //      NativeLib.nativeInit("winpthread-1");
 
                NativeLib.nativeInit("simgrid");
                NativeLib.nativeInit("surf-java");
index 7575a6a..ed50629 100644 (file)
@@ -159,7 +159,9 @@ else()
 endif()
 
 CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)
-CHECK_INCLUDE_FILE("pthread.h" HAVE_PTHREAD_H)
+if(NOT WIN32)
+  CHECK_INCLUDE_FILE("pthread.h" HAVE_PTHREAD_H)
+endif()
 CHECK_INCLUDE_FILE("valgrind/valgrind.h" HAVE_VALGRIND_VALGRIND_H)
 CHECK_INCLUDE_FILE("socket.h" HAVE_SOCKET_H)
 CHECK_INCLUDE_FILE("stat.h" HAVE_STAT_H)
index b763705..8b00711 100644 (file)
@@ -138,24 +138,24 @@ if(enable_lib_in_jar)
     COMMAND ${CMAKE_COMMAND} -E echo "-- Cmake put the native code in ${JAVA_NATIVE_PATH}"
     COMMAND "${Java_JAVA_EXECUTABLE}" -classpath "${SIMGRID_JAR}" org.simgrid.NativeLib
     )
-  if(MINGW)
-    find_library(WINPTHREAD_DLL
-      NAME winpthread winpthread-1
-      PATHS C:\\MinGW C:\\MinGW64 C:\\MinGW\\bin C:\\MinGW64\\bin
-    )
-    add_custom_command(
-      TARGET simgrid-java_jar POST_BUILD
-      COMMENT "Add the MinGW libs into simgrid.jar..."
-      DEPENDS ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
-
-      COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
-      COMMAND ${CMAKE_COMMAND} -E make_directory          ${JAVA_NATIVE_PATH}
-      COMMAND ${CMAKE_COMMAND} -E copy ${WINPTHREAD_DLL}  ${JAVA_NATIVE_PATH}
-
-      COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR}  NATIVE
-      COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
-    )
-  endif(MINGW)
+  #if(MINGW)
+  #  find_library(WINPTHREAD_DLL
+  #    NAME winpthread winpthread-1
+  #    PATHS C:\\MinGW C:\\MinGW64 C:\\MinGW\\bin C:\\MinGW64\\bin
+  #  )
+  #  add_custom_command(
+  #    TARGET simgrid-java_jar POST_BUILD
+  #    COMMENT "Add the MinGW libs into simgrid.jar..."
+  #    DEPENDS ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
+  #
+  #    COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
+  #    COMMAND ${CMAKE_COMMAND} -E make_directory          ${JAVA_NATIVE_PATH}
+  #    COMMAND ${CMAKE_COMMAND} -E copy ${WINPTHREAD_DLL}  ${JAVA_NATIVE_PATH}
+  #
+  #    COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR}  NATIVE
+  #    COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
+  #  )
+  #endif(MINGW)
 endif(enable_lib_in_jar)
 
 include_directories(${JNI_INCLUDE_DIRS} ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})