Closed zaleslaw closed 4 years ago
Do you have the same error if you try to run your executable jar from the command line?
i.e. java -jar <your-examples.jar> ...
?
@karllessard yes, I've tried with both OpenJDK 8 and 11, via command line and via IDEA Run button. It couldn't find the library.
I've checked, this dll exists in the jar-with-dependencies in the org\tensorflow\internal\c_api\windows-x86_64 catalogue and it exists in the _C:\Users\zaleslaw.javacpp\cache\tensorflow-examples-0.1.0-SNAPSHOT-jar-with-dependencies.jar\org\tensorflow\internal\c_api\windows-x8664 catalogue
It seems like it loads the library, but could not find dependent libraries (what are these libraries)
@karllessard I found a bug: the windows-x86_64 doesn't contain yet one dll (jnitensorflow.dll requires the VCRUNTIME140_1.dll).
I found the missed dependency via https://github.com/lucasg/Dependencies
This library should be on the Windows machine and typically is installed on C++ developers' machines with the https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads
But I'm not a C++ developer and have only Java on new Windows machine and I need to install a few dll to run Java Examples.
I suggest easy solution: add this missed library (or another dependent) to the windows-x86_64 distribution.
P.S. Remind you, that we have no such problem with the Java API for the 1.15 (I don't know the reason) and it's natural way for Java dev - don't have C++ compiler or environment on the machine.
Or we should describe this case and notify Windows users about required software to run examples (not build the TensorFlow from sources like in article https://www.tensorflow.org/install/source_windows)
I see, that one isn't getting bundled. We'll just need to add it to this list here to have it bundled: https://github.com/tensorflow/java/blob/master/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java#L69
@saudet sounds good, ready to test it after solution on the new machine with windows
Hi, I am trying the sample HelloTensorFlow.java program on my Windows 10 machine but getting the exact same error This is the dependency I have
"C:\Program Files\Java\jdk-11.0.10\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=49805:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath C:\TestTensor\target\classes;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-platform\0.2.0\tensorflow-core-platform-0.2.0.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4-linux-x86_64.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4-macosx-x86_64.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4-windows-x86_64.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0.jar;C:\Users\User.m2\repository\com\google\protobuf\protobuf-java\3.8.0\protobuf-java-3.8.0.jar;C:\Users\User.m2\repository\org\tensorflow\ndarray\0.2.0\ndarray-0.2.0.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0-linux-x86_64.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0-macosx-x86_64.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0-windows-x86_64.jar HelloTensorFlow
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnitensorflow in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, ., .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:827)
at java.base/java.lang.System.loadLibrary(System.java:1871)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1300)
at org.bytedeco.javacpp.Loader.load(Loader.java:1123)
at org.tensorflow.internal.c_api.global.tensorflow.
Process finished with exit code 1
What am I doing wrong or do I need to install something more ? @zaleslaw @saudet
@jainarpit6 Could you set the "org.bytedeco.javacpp.logger.debug" system property to "true" to get a bit more information?
Here is the output @saudet
"C:\Program Files\Java\jdk-11.0.10\bin\java.exe" -Dorg.bytedeco.javacpp.logger.debug=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=50585:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath C:\TestTensor\target\classes;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-platform\0.2.0\tensorflow-core-platform-0.2.0.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4-linux-x86_64.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4-macosx-x86_64.jar;C:\Users\User.m2\repository\org\bytedeco\javacpp\1.5.4\javacpp-1.5.4-windows-x86_64.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0.jar;C:\Users\User.m2\repository\com\google\protobuf\protobuf-java\3.8.0\protobuf-java-3.8.0.jar;C:\Users\User.m2\repository\org\tensorflow\ndarray\0.2.0\ndarray-0.2.0.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0-linux-x86_64.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0-macosx-x86_64.jar;C:\Users\User.m2\repository\org\tensorflow\tensorflow-core-api\0.2.0\tensorflow-core-api-0.2.0-windows-x86_64.jar HelloTensorFlow
Debug: Loading class org.bytedeco.javacpp.presets.javacpp
Debug: Loading class org.bytedeco.javacpp.Loader
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-locale-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-string-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-stdio-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-math-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-heap-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-runtime-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-convert-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-environment-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-time-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-filesystem-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-utility-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-multibyte-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-string-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-errorhandling-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-timezone-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-file-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-namedpipe-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-handle-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-file-l2-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-heap-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-libraryloader-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-synch-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-processthreads-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-processenvironment-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-datetime-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-localization-l1-2-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-sysinfo-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-synch-l1-2-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-console-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-debug-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-rtlsupport-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-processthreads-l1-1-1.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-file-l1-2-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-profile-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-memory-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-util-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-interlocked-l1-1-0.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\ucrtbase.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\vcruntime140.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\vcruntime140_1.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\msvcp140.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\msvcp140_1.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\concrt140.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\vcomp140.dll
Debug: Loading C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\jnijavacpp.dll
Debug: Loading class org.bytedeco.javacpp.presets.javacpp
Debug: Loading class org.bytedeco.javacpp.Pointer
Debug: Loading class org.tensorflow.internal.c_api.global.tensorflow
Debug: Loading class org.tensorflow.internal.c_api.global.tensorflow
Debug: Loading library msvcr120
Debug: Failed to load for msvcr120: java.lang.UnsatisfiedLinkError: no msvcr120 in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
Debug: Loading library libiomp5md
Debug: Failed to load for libiomp5md: java.lang.UnsatisfiedLinkError: no libiomp5md in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
Debug: Loading library mklml
Debug: Failed to load for mklml: java.lang.UnsatisfiedLinkError: no mklml in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
Debug: Loading library tensorflow_framework
Debug: Failed to load for tensorflow_framework: java.lang.UnsatisfiedLinkError: no tensorflow_framework in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-locale-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-locale-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-string-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-string-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-stdio-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-stdio-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-math-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-math-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-heap-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-heap-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-runtime-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-runtime-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-convert-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-convert-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-environment-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-environment-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-time-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-time-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-filesystem-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-filesystem-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-utility-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-utility-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-crt-multibyte-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-crt-multibyte-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-string-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-string-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-errorhandling-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-errorhandling-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-timezone-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-timezone-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-file-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-file-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-namedpipe-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-namedpipe-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-handle-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-handle-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-file-l2-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-file-l2-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-heap-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-heap-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-libraryloader-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-libraryloader-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-synch-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-synch-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-processthreads-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-processthreads-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-processenvironment-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-processenvironment-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-datetime-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-datetime-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-localization-l1-2-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-localization-l1-2-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-sysinfo-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-sysinfo-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-synch-l1-2-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-synch-l1-2-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-console-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-console-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-debug-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-debug-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-rtlsupport-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-rtlsupport-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-processthreads-l1-1-1.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-processthreads-l1-1-1.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-file-l1-2-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-file-l1-2-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-profile-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-profile-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-memory-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-memory-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-util-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-util-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\api-ms-win-core-interlocked-l1-1-0.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\api-ms-win-core-interlocked-l1-1-0.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\ucrtbase.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\ucrtbase.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\vcruntime140.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\vcruntime140.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\vcruntime140_1.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\vcruntime140_1.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\msvcp140.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\msvcp140.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\concrt140.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\concrt140.dll
Debug: Creating symbolic link C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\vcomp140.dll to C:\Users\User.javacpp\cache\javacpp-1.5.4-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\vcomp140.dll
Debug: Loading C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\tensorflow_cc.dll
Debug: Failed to load C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\tensorflow_cc.dll: java.lang.UnsatisfiedLinkError: C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\tensorflow_cc.dll: A dynamic link library (DLL) initialization routine failed
Debug: Loading library tensorflow_cc
Debug: Failed to load for tensorflow_cc@.2: java.lang.UnsatisfiedLinkError: no tensorflow_cc in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
Debug: Loading C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\jnitensorflow.dll
Debug: Failed to load C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\jnitensorflow.dll: java.lang.UnsatisfiedLinkError: C:\Users\User.javacpp\cache\tensorflow-core-api-0.2.0-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\jnitensorflow.dll: Can't find dependent libraries
Debug: Loading library jnitensorflow
Debug: Failed to load for jnitensorflow: java.lang.UnsatisfiedLinkError: no jnitensorflow in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnitensorflow in java.library.path: [C:\Program Files\Java\jdk-11.0.10\bin, C:\Windows\Sun\Java\bin, C:\Windows\system32, C:\Windows, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp, C:\Program Files\Common Files\Oracle\Java\javapath, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Users\User\AppData\Local\Microsoft\WindowsApps, .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:827)
at java.base/java.lang.System.loadLibrary(System.java:1871)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1300)
at org.bytedeco.javacpp.Loader.load(Loader.java:1123)
at org.tensorflow.internal.c_api.global.tensorflow.
Process finished with exit code 1
I could see errors for msvcr120, libiomp5md, mklml, tensorflow_cc, jnitensorflow
The important one is tensorflow_cc.dll. The other errors are not relevant. For some reason, TF isn't able to initialize on your machine... Windows makes it hard to debug that, but you can start here: https://github.com/bytedeco/javacpp-presets/wiki/Debugging-UnsatisfiedLinkError-on-Windows
I am not sure how to add the required code in my code. I added below code. When I run, I see dependencies opening in a new window. I am not 100 on how to interpret that. Only thing weird to me is that checksum for tensorflow-core-api is incorrect.
try { Loader.load(tensorflow.class); } catch (UnsatisfiedLinkError e) { String path = Loader.cacheResource(tensorflow.class, "windows-x86_64/jnitensorflow.dll").getPath(); new ProcessBuilder("C:\Users\User\Downloads\Dependencies_x64_Release\DependenciesGui.exe", path).start().waitFor(); }
@saudet
The checksum also comes up as "incorrect" for me (not sure what this is all about, probably some bug in Bazel), but it still loads fine for me, so that's not the issue.
Hi, trying to run next examples, but have troubles with loading of native library. OS: Windows 10
P.S. I see this library in the Maven Tree in IDEA
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnitensorflow in java.library.path: [C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3.3\jbr\bin, C:\WINDOWS\Sun\Java\bin, C:\WINDOWS\system32, C:\WINDOWS, C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem, C:\Windows\System32\WindowsPowerShell\v1.0\, C:\Windows\System32\OpenSSH\, C:\Program Files\NVIDIA Corporation\NVIDIA NGX, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\WINDOWS\System32\OpenSSH\, C:\Program Files\Git\cmd, C:\Users\zaleslaw\AppData\Local\Microsoft\WindowsApps, ., .] at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660) at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829) at java.base/java.lang.System.loadLibrary(System.java:1870) at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1631) at org.bytedeco.javacpp.Loader.load(Loader.java:1265) at org.bytedeco.javacpp.Loader.load(Loader.java:1109) at org.tensorflow.internal.c_api.global.tensorflow.(tensorflow.java:12)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at org.bytedeco.javacpp.Loader.load(Loader.java:1176)
at org.bytedeco.javacpp.Loader.load(Loader.java:1125)
at org.tensorflow.NativeLibrary.load(NativeLibrary.java:48)
at org.tensorflow.TensorFlow.init(TensorFlow.java:111)
at org.tensorflow.TensorFlow.(TensorFlow.java:126)
at org.tensorflow.Graph.(Graph.java:730)
at org.tensorflow.model.examples.mnist.SimpleMnist.main(SimpleMnist.java:27)
Caused by: java.lang.UnsatisfiedLinkError: C:\Users\zaleslaw.javacpp\cache\tensorflow-core-api-0.1.0-SNAPSHOT-windows-x86_64.jar\org\tensorflow\internal\c_api\windows-x86_64\jnitensorflow.dll: Can't find dependent libraries
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
at java.base/java.lang.Runtime.load0(Runtime.java:767)
at java.base/java.lang.System.load(System.java:1834)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1581)
... 12 more