-
-
Notifications
You must be signed in to change notification settings - Fork 249
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
Missing DLLs means users are forced to download the Microsoft Visual C++ Redistributable #878
Comments
@johanvos - Is this something you'd expect our distro to have or is that part of the JavaFX package on top? |
It is part of the OpenJDK distribution, so for consistency reasons, I think it should be part of the AdoptOpenJDK distribution as well? |
Great thank you! @ali-ince / @johnoliver one for us to look into |
Including dlls into the package would increase the size of the OpenJDK distributatble which should be a consideration. Microsoft don't recommend static linking or include the DLL in your own directory as the OS/security update might not apply to those runtime It looks like those are OS level libraries but somehow they have changed the name. The suggestion from the MS community is that we should use mincore.lib which is a shim for all the api surface, but the binary would only work with Windows 8+. Alternatively we can probabaly distribute the full Visual C++ redistributable installer in our installer package. What would be a good option? |
Yuck!!! AdoptOpenJDK should be a drop-in replacement for the jdk.java.net release. If you make end users jump through hoops, it'd be very damaging to the value proposition of zero-dependency jlink'd apps. |
IMHO, Although I can see the reason why you would consider including the VC++ redist in AdoptOpenJDK, you should only include it if a .dll requires it and because the only thing that requires it is JavaFX's own .dll, then reason to include seem strange. It makes more sense for the JavaFX package to include it. Or included it in a AdoptOpenJavaFX extra pacakge :-) |
I can see that you may be absolutely right that the .dlls in an ideal world should be in a JavaFX package. In the mean time though, until you can start providing your own AdoptOpenJavaFX package or convince Gluon to include the .dlls in their package, AdoptOpenJDK is unusable for JavaFX apps. I'm sure there are all sorts of better long-term approaches, but in the mean time this is an unacceptable state of limbo for AdoptOpenJDK. |
I think the main problem here may be that AdoptOpenJDK builds the JDK with a different version of visual studio (I'll check but it's probably VS2013) than what JavaFX is built with (given the DLL names missing, it's probably VS2017). I'll try to verify the version of VS first and update here. |
I've noticed that AdoptOpenJDK 12 (hotspot) now has the necessary DLLs, so everything works perfectly for JavaFX apps. Thank you!!! |
Good to hear - For Java 11 and 8 I suspect this issue will be resolved in the nightlies now. @ali-ince Are we building with VS 2017 for all versions now? |
Not yet @karianna, that's still in progress. I'll update this thread when we switch to vs2017. |
A quick update on this;
|
Hi! The workaround would be installing the C runtime an ALL thousands of client systems that don't have it installed with the operating system. //EDIT: |
…enJdk because of bug: ``` Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: C:\Program Files\Conduktor\runtime\bin\glass.dll: Can't find dependent libraries at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) ``` Caused by adoptium/temurin-build#878
…enJdk because of bug: ``` Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: C:\Program Files\Conduktor\runtime\bin\glass.dll: Can't find dependent libraries at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) ``` Caused by adoptium/temurin-build#878
…enJdk because of bug: ``` Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: C:\Program Files\Conduktor\runtime\bin\glass.dll: Can't find dependent libraries at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) ``` Caused by adoptium/temurin-build#878
AdoptOpenJDK does not include DLLs such as api-ms-win-core-console-l1-1-0.dll
This means that JavaFX apps running on AdoptOpenJDK will fail to run unless users also install the Microsoft Visual C++ Redistributable on their system.
An example of these errors is documented here: javafxports/openjdk-jfx#365 (comment)
The text was updated successfully, but these errors were encountered: