From: Martin Quinson Date: Sun, 4 Oct 2015 13:07:13 +0000 (+0200) Subject: [win+java] maybe libwinpthread is causing the segfaults on JNI startup that we see X-Git-Tag: v3_12~38 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/517c8af545eefa8baf9a5439f242a4bd021f9085 [win+java] maybe libwinpthread is causing the segfaults on JNI startup that we see 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. --- diff --git a/src/bindings/java/org/simgrid/NativeLib.java b/src/bindings/java/org/simgrid/NativeLib.java index cdb7710c5d..61b4606b53 100644 --- a/src/bindings/java/org/simgrid/NativeLib.java +++ b/src/bindings/java/org/simgrid/NativeLib.java @@ -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"); diff --git a/tools/cmake/CompleteInFiles.cmake b/tools/cmake/CompleteInFiles.cmake index 7575a6a161..ed50629d62 100644 --- a/tools/cmake/CompleteInFiles.cmake +++ b/tools/cmake/CompleteInFiles.cmake @@ -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) diff --git a/tools/cmake/Java.cmake b/tools/cmake/Java.cmake index b7637055a1..8b00711c9e 100644 --- a/tools/cmake/Java.cmake +++ b/tools/cmake/Java.cmake @@ -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})