-
Notifications
You must be signed in to change notification settings - Fork 35
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
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load ... skija.dll #15
Comments
Are you by any chance on non-x86_64 architecture? |
x64 but win7 (!), netbeans 12.5, java17, Semeru IBM Runtimes (openj9), could it be win7 OS related? is there any internal dependency that needs something newer like maybe directX12 or something? |
We do link with DX12, I believe. Not sure if it matters if you are only using OpenGL backend, but problem here seems to happen way earlier, when library is loaded. We build on Windows 10, too, maybe this is the reason? |
I see, unfortunately I cannot test it in an other system at the moment, I will report back if it will happen.
Not sure if this is the case either. I would expect a more informative error, not this simple "Can't load". |
The message from an alternative jvm. Now it is "Can't find dependent libraries"
|
https://skia.org/docs/user/special/angle/ I guess there could be a build for older GPUs based on dx11 |
update: The project https://github.com/micycle1/processing-skia loads its bundled skija dll OK, the version for windows linked at the releases page here: https://github.com/micycle1/processing-skia/releases/ the bundled version is 0.90 a version with a time stamp 20/4/2021 1:44:34
The old dll does not import the D3D 12 dependency and loads OK. So as far as I can test those dependencies are the problem. It will be very useful if there could be a dll release based on open OpenGL only in order to prevent this incompatibility with GPUs/hardware that do not support D3D 12. OpenGL seems compatible with more systems. |
Just replacing Skia DLL won’t work, Skija adds a translation layer (which is also in C++) to it. I’d like to help you out but honestly Windows 7 is quite a low priority right now. Microsoft stopped supporting it 7 years ago. We don’t have infinite resources, and have to focus our effort on what benefits the most people. Projecting into the future, needing a separate Windows 7 machine just to test this could also become a problem. My suggestion is that you build Skia and Skija yourself. It shouldn’t be that hard, start by trying to turn off this flag https://github.com/HumbleUI/SkiaBuild/blob/37a6b6018a5a94ce8e118e09d2f4f7adbb06a4c3/script/build.py#L61 |
Note that it is possible to use DirectX12 on Windows 7 but it does not come with the operating system by default. https://github.com/microsoft/DirectX-Graphics-Samples/tree/develop/Samples/Desktop/D3D12On7 Not sure if this requires linking separately or if the distributed binaries just work. |
After upgrading to windows10 from 7 have realized that the restriction is not only the OS but the hardware also. I am not sure about the requirements for openGL, but if an automated new "windows dll" build could be managed in the github action system with Direct3d disabled could be a useful addition. At least we could build here if possible, just a test dll for openGL only hardware.. Testing 0.109 with skijaGraphics2D graphics2d-tester actually works
... log
|
same error when using System.load(), System.loadLibrary(), System.setProperty() etc.
windows, netbeans, pre-compiled skija 0.100, skija.dll icudtl.dat files EXTRACTED OK in temp dir
any ideas on how to get it loaded?
Seems like a great project! thanks
The text was updated successfully, but these errors were encountered: