Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PyTorch 2.2.2-1.5.11-SNAPSHOT] Exception java.lang.UnsatisfiedLinkError: no jnitorch in java.library.path on WIndows #1500

Closed
haifengl opened this issue May 13, 2024 · 15 comments · Fixed by bytedeco/javacpp#755
Assignees

Comments

@haifengl
Copy link

The same code works fine with 2.2.1-1.5.11-SNAPSHOT.

@saudet
Copy link
Member

saudet commented May 13, 2024

Which platform?

@haifengl haifengl changed the title [PyTorch 2.2.2-1.5.11-SNAPSHOT] Exception java.lang.UnsatisfiedLinkError: no jnitorch in java.library.path [PyTorch 2.2.2-1.5.11-SNAPSHOT] Exception java.lang.UnsatisfiedLinkError: no jnitorch in java.library.path on WIndows May 13, 2024
@haifengl
Copy link
Author

It doesn't work on Windows 10. It works on Ubuntu 22.04 and macOS 13/14. It doesn't work on older macOS though (e.g. macOS 11). It is fine to drop the support of older macOS.

@saudet
Copy link
Member

saudet commented May 15, 2024

Could you check what the Dependencies tool says is missing?
https://github.com/bytedeco/javacpp-presets/wiki/Debugging-UnsatisfiedLinkError-on-Windows

@haifengl
Copy link
Author

haifengl commented May 15, 2024

dll
c10, asmjit, and libomp140 are missing on Windows 10.

@haifengl
Copy link
Author

On macOS 11, it cannot load macosx-x86_64/libjnitorch.dylib. However, the libjnitorch.dylib file does exist.

Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /Users/xyz/.javacpp/cache/pytorch-2.2.2-1.5.11-20240502.145852-21-macosx-x86_64.jar/org/bytedeco/pytorch/macosx-x86_64/libjnitorch.dylib

@saudet
Copy link
Member

saudet commented May 15, 2024

@haifengl @sbrunk Could you please test the builds on Windows and Mac?

@saudet
Copy link
Member

saudet commented May 15, 2024

BTW, macOS 11 is no longer supported by either Apple or GitHub, so please upgrade to at least macOS 12

@haifengl
Copy link
Author

It is okay to drop supporting macOS 11. Does PyTorch 2.2.2-1.5.11-SNAPSHOT support macOS on arm64 yet?

@HGuillemet
Copy link
Collaborator

I run a test on a windows 10 VM with 2.2.2 and it works, but jnitorch.dll is indeed linked with libomp140.x86_64.dll that is found in my \windows\system32. It probably came with VS or another software.

I guess we should include an OpenMP library in the jar. I'm seeing that the official libtorch archive includes the Intel version.

@saudet, what's the best way to do this ? the Pytorch CMakeList.txt doesn't use InstallRequiredSystemLibraries

@saudet
Copy link
Member

saudet commented May 18, 2024

That's apparently a file that comes with Visual Studio, so we should add it to this preload list here:
https://github.com/bytedeco/javacpp/blob/master/src/main/java/org/bytedeco/javacpp/presets/javacpp.java#L42

@HGuillemet
Copy link
Collaborator

Ok.
Openmp is not used by many presets. Shouldn't we add it to the preload list of presets needing it only ?

@saudet
Copy link
Member

saudet commented May 18, 2024

No, please don't do that

@HGuillemet
Copy link
Collaborator

Ok, would you like a PR for this or can you add it directly ?

@saudet
Copy link
Member

saudet commented May 18, 2024

Yes, pull requests always welcome :) Thanks

@haifengl
Copy link
Author

Thanks. It runs on Windows now. However, it doesn't produce good models on Windows though. I will create a new ticket about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants