<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>In the meantime there was a communication with Azul's support (my
e-mail got through and they kindly answered without having an
account) in which context (preparing and reporting cases) I could
find a locally created script being used that would explicitly set
java.lang.library defining older, existing Java directories which
caused the reported runtime error (dlls loaded from wrong/older
installations).</p>
<p>For testing purposes foregoing that script will still cause the "java.lang.UnsatisfiedLinkError"
to occur, but now java.lang.library will have the current Java's
bin-homedir such that on the next attempt the proper dlls get
found and loaded from there (this is true for both tested OpenJDK
21 plus JavaFX/Full versions of Azul and BellSoft). </p>
<p>This should be fixed nevertheless (to allow loading the proper
dlls), but the problem by default is not fatal, unless
java.lang.library gets explicitly defined and would not have the
current Java's bin directory as its first directory but instead
supplies other Java versions before it. <br>
</p>
<p>---rony<br>
</p>
<p><br>
</p>
<p>On 30.09.2023 18:31, Kevin Rushforth wrote:</p>
<blockquote type="cite"
cite="mid:d842436f-9949-d97a-2d3f-2f119d9535df@oracle.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Both companies have folks who monitor this list, so maybe they
will see it and respond.<br>
<br>
<blockquote type="cite">
<p>In the meantime copying bin to bin/javafx is an easy-enough
local "solution". :)</p>
</blockquote>
<br>
Yes.<br>
<br>
-- Kevin<br>
<br>
<br>
<div class="moz-cite-prefix">On 9/30/2023 8:53 AM, Rony G.
Flatscher wrote:<br>
</div>
<blockquote type="cite"
cite="mid:de7efc37-d868-4eed-b514-267deed82b32@wu.ac.at">
<div class="moz-cite-prefix">On 30.09.2023 15:05, Kevin
Rushforth wrote:<br>
</div>
<blockquote type="cite"
cite="mid:8ff1ff5a-34b7-ddfe-00ae-492391a5fa0e@oracle.com">
The JavaFX native files were deliberately moved from bin to
bin/javafx in JavaFX 19. See JDK-8281089 [1]. Using jlink with
the JavaFX jmods will correctly put those libraries in
bin/javafx. I suspect that the JDK build procedure Azul and
BellSoft use is not doing that.<br>
<br>
-- Kevin<br>
<br>
[1] <a class="moz-txt-link-freetext"
href="https://bugs.openjdk.org/browse/JDK-8281089"
moz-do-not-send="true">https://bugs.openjdk.org/browse/JDK-8281089</a><br>
</blockquote>
<p>Thank you very much, Kevin! <br>
</p>
<p>Not having accounts at Azul and BellSoft, there is no means
to inform them, unfortunately. (Maybe others on the list who
have accounts could do so.)</p>
<p>In the meantime copying bin to bin/javafx is an easy-enough
local "solution". :)</p>
<p>---rony<br>
</p>
<br>
<blockquote type="cite"
cite="mid:8ff1ff5a-34b7-ddfe-00ae-492391a5fa0e@oracle.com">On
9/30/2023 4:40 AM, Rony G. Flatscher wrote:<br>
<blockquote type="cite"
cite="mid:597513ed-faeb-4779-baf3-d99d8f6d0757@wu.ac.at">
<div class="moz-cite-prefix">Added the subdir "bin/javafx"
then copied all files of "bin" into it after which
everything works.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Both OpenJDK 21 versions (Azul,
Bellsouth) were downloaded as zip-archives, unzipped and
JAVA_HOME set accordingly, which has been working for all
past versions. It seems that somewhere a wrong
configuration sneaked into 21 causing the loading of the
dlls from the wrong, non-existing subdirectory
"bin/javafx".</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">---rony<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 29.09.2023 23:32, Rony G.
Flatscher wrote:<br>
</div>
<blockquote type="cite"
cite="mid:8396b591-59af-4958-8087-7398e7eb3928@wu.ac.at">
<p>Also, in this case JAVA_HOME is set as:</p>
<blockquote>
<p>F:\work\svn\bsf4oorexx\branches\850\bsf4oorexx\samples\JavaFX>set
j<br>
JAVA_HOME=C:\Program Files\BellSoft\jdk-21-full<br>
</p>
</blockquote>
<div class="moz-cite-prefix">---rony</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">On 29.09.2023 23:29, Rony G.
Flatscher wrote:<br>
</div>
<blockquote type="cite"
cite="mid:78137d09-1cc8-40db-8a61-c589919be726@wu.ac.at">
<p>Sorry, had to go to an event in between.</p>
<div class="moz-cite-prefix">On 29.09.2023 15:35, Kevin
Rushforth wrote:<br>
</div>
<blockquote type="cite"
cite="mid:a9a354a3-323f-2f67-a2cc-3f069e11adc4@oracle.com"> It generally
doesn't matter where the Microsoft DLLs are loaded
from. What I don't see in your log is the loading of
javafx_font.dll. That, and the other JavaFX libraries,
are the important ones.<br>
</blockquote>
<p>This is interesting as well, here the occurrences of
javafx_font.dll:</p>
<blockquote>
<p>F:\work\svn\bsf4oorexx\branches\850\bsf4oorexx\samples\JavaFX>dir
C:\javafx_font.dll /s<br>
Volume in drive C is root_c<br>
Volume Serial Number is 2AF2-88BA<br>
<br>
Directory of C:\Program
Files\azul\zulu21_jdk21.0.0\bin<br>
<br>
12.09.2023 14:02 77 864 javafx_font.dll<br>
1 File(s) 77 864 bytes<br>
<br>
Directory of C:\Program
Files\BellSoft\jdk-18.0.1.1-full\bin<br>
<br>
28.05.2022 04:41 76 992 javafx_font.dll<br>
1 File(s) 76 992 bytes<br>
<br>
Directory of C:\Program
Files\BellSoft\jdk-21-full\bin<br>
<br>
20.09.2023 01:11 77 504 javafx_font.dll<br>
1 File(s) 77 504 bytes<br>
<br>
Directory of C:\Program
Files\BellSoft\LibericaJDK-17-Full\bin<br>
<br>
12.01.2023 21:09 76 992 javafx_font.dll<br>
1 File(s) 76 992 bytes<br>
<br>
Directory of C:\Program Files
(x86)\BellSoft\jdk8u312-full\jre\bin<br>
<br>
16.10.2021 20:54 61 152 javafx_font.dll<br>
1 File(s) 61 152 bytes<br>
<br>
Directory of C:\Program Files
(x86)\BellSoft\LibericaJDK-17-Full\bin<br>
<br>
28.05.2022 02:52 62 144 javafx_font.dll<br>
1 File(s) 62 144 bytes<br>
<br>
Directory of C:\Program Files
(x86)\BellSoft\LibericaJDK-8-Full\jre\bin<br>
<br>
27.05.2022 22:59 61 632 javafx_font.dll<br>
1 File(s) 61 632 bytes<br>
<br>
Directory of
C:\Users\Administrator\.IdeaIC2019.3\system\tmp\patch-update\jre\bin<br>
<br>
16.04.2020 17:59 80 408 javafx_font.dll<br>
1 File(s) 80 408 bytes<br>
<br>
Directory of
C:\Users\Administrator\AppData\Local\JetBrains\IdeaIC2020.1\tmp\patch-update\jre\bin<br>
<br>
24.09.2020 16:30 80 408 javafx_font.dll<br>
1 File(s) 80 408 bytes<br>
<br>
Directory of
C:\Users\Administrator\AppData\Local\SceneBuilder\runtime\bin<br>
<br>
05.06.2018 13:48 58 792 javafx_font.dll<br>
1 File(s) 58 792 bytes<br>
<br>
Total Files Listed:<br>
10 File(s) 713 888 bytes<br>
0 Dir(s) 34 872 254 464 bytes free<br>
</p>
</blockquote>
<p>Here here the relevant trace:</p>
<blockquote>
<p>... cut ...<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't load
library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\msvcp140_2.dll<br>
Loaded C:\Program
Files\BellSoft\LibericaJDK-17-Full\bin\msvcp140_2.dll
from java.library.path<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't load
library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\prism_d3d.dll<br>
Loaded C:\Program
Files\BellSoft\LibericaJDK-17-Full\bin\prism_d3d.dll
from java.library.path<br>
JavaFX: using
com.sun.javafx.tk.quantum.QuantumToolkit<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't load
library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\glass.dll<br>
Loaded C:\Program
Files\BellSoft\LibericaJDK-17-Full\bin\glass.dll
from java.library.path<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't load
library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\javafx_font.dll<br>
Loaded C:\Program
Files\BellSoft\LibericaJDK-17-Full\bin\javafx_font.dll
from java.library.path<br>
Exception in Application start method<br>
Exception in thread "JavaFX Application Thread"
java.lang.UnsatisfiedLinkError: 'java.lang.String
com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(java.<br>
lang.String)'<br>
at
javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(Native
Method)<br>
at
javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.getFallbacks(DWFactory.java:166)<br>
at
javafx.graphics/com.sun.javafx.font.LogicalFont.getLinkedFonts(LogicalFont.java:214)<br>
at
javafx.graphics/com.sun.javafx.font.LogicalFont.getNumSlots(LogicalFont.java:223)<br>
at
javafx.graphics/com.sun.javafx.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)<br>
at
javafx.graphics/com.sun.javafx.font.LogicalFont.getGlyphMapper(LogicalFont.java:439)<br>
at
javafx.graphics/com.sun.javafx.text.GlyphLayout.breakRuns(GlyphLayout.java:229)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.buildRuns(PrismTextLayout.java:819)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1070)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:230)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:256)<br>
at
javafx.controls/com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:129)<br>
at
javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:809)<br>
at
javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:306)<br>
at
javafx.controls/javafx.scene.control.Control.computeMinWidth(Control.java:504)<br>
at
javafx.graphics/javafx.scene.Parent.minWidth(Parent.java:1049)<br>
at
javafx.graphics/javafx.scene.layout.Region.minWidth(Region.java:1500)<br>
at
javafx.graphics/javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1959)<br>
at
javafx.graphics/javafx.scene.layout.AnchorPane.computeChildWidth(AnchorPane.java:344)<br>
at
javafx.graphics/javafx.scene.layout.AnchorPane.layoutChildren(AnchorPane.java:380)<br>
at
javafx.graphics/javafx.scene.Parent.layout(Parent.java:1208)<br>
at
javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:594)<br>
at
javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2600)<br>
at
javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:401)<br>
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:400)<br>
at
javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:400)<br>
at
javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:430)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:592)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:572)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:565)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:352)<br>
at
javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)<br>
at
javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native
Method)<br>
at
javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)<br>
at
java.base/java.lang.Thread.run(Thread.java:1583)</p>
</blockquote>
<p>Here the PATH environment variable in this case (no
jdk17):</p>
<blockquote>
<p>PATH=C:\Program
Files\BellSoft\jdk-21-full\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;e:\rony\tools;e:\vslick\win;C:\Program
Files (x86)\Common Files\Roxio
Shared\DLLShared\;C:\Program Files\Microsoft
DNX\Dnvm\;C:\Program Files (x86)\Windows
Kits\8.1\Windows Performance Toolkit\;C:\Program
Files\gs\gs9.22\lib;C:\Program
Files\gs\gs9.22\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program
Files (x86)\PuTTY\;C:\Program
Files\Intel\WiFi\bin\;C:\Program Files\Common
Files\Intel\WirelessCommon\;C:\Program
Files\TortoiseSVN\bin;C:\Program
Files\TortoiseHg\;C:\Program
Files\TortoiseGit\bin;C:\Program
Files\dotnet\;C:\Program Files (x86)\AOMEI\AOMEI
Backupper\7.1.2;C:\Program Files\Git\cmd;C:\Program
Files\BSF4ooRexx850;c:\Program Files
(x86)\Intel\Intel(R) Management Engine
Components\DAL;c:\Program Files\Intel\Intel(R)
Management Engine Components\DAL;C:\Program
Files\oorexx;C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\Administrator\AppData\Local\Programs\Python\Python311\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Program
Files\Intel\WiFi\bin\;C:\Program Files\Common
Files\Intel\WirelessCommon\<br>
</p>
</blockquote>
<p>So JDK17 is not on PATH, but Java/JDK 21 finds JDK17,
maybe from the registry entry for
"Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JDK\17.0.3"
(only entry), having an entry of "JavaHome" with the
value of "C:\Program
Files\BellSoft\LibericaJDK-17-Full".</p>
<p>Also key
"Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JDK\17.0.3\MSI"
having an entry for "INSTALLDIR" of "C:\Program
Files\BellSoft\LibericaJDK-17-Full\".<br>
</p>
<p>So it seems that JDK21's java.exe will not find the
dlls in the non-existing "*\jdk-21-full\javafx\"
directory and eventually resorting to the registry
entry to lookup JDK 17. <br>
</p>
<p>---rony<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:a9a354a3-323f-2f67-a2cc-3f069e11adc4@oracle.com">On 9/29/2023
6:30 AM, Rony G. Flatscher wrote:<br>
<blockquote type="cite"
cite="mid:bb2c2075-ee84-4914-8048-497bba247b60@wu.ac.at"> On 29.09.2023
14:53, Kevin Rushforth wrote:<br>
<blockquote type="cite"
cite="mid:90354a14-8d37-cae0-a37b-86e9d3a1ad27@oracle.com"> This is a
new native method (actually moved from another
class) in JavaFX 21. This is very likely due to a
mismatch between the native library and the Java
classes. I suspect you have a directory in your
PATH that is picking up an old javafx_font.dll
library. Run your program with
"-Djavafx.verbose=true" to see where the library
is loaded from.<br>
</blockquote>
<p>Thank you, this is the output:</p>
<blockquote>
<p>WARNING: java.lang.UnsatisfiedLinkError: Can't
load library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\api-ms-win-core-console-l1-1-0.dll<br>
Loaded C:\Program
Files\TortoiseGit\bin\api-ms-win-core-console-l1-1-0.dll
from java.library.path<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't
load library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\api-ms-win-core-console-l1-2-0.dll<br>
System.loadLibrary(api-ms-win-core-console-l1-2-0) succeeded<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't
load library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\api-ms-win-core-datetime-l1-1-0.dll<br>
Loaded C:\Program
Files\TortoiseGit\bin\api-ms-win-core-datetime-l1-1-0.dll
from java.library.path<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't
load library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\api-ms-win-core-debug-l1-1-0.dll<br>
Loaded C:\Program
Files\TortoiseGit\bin\api-ms-win-core-debug-l1-1-0.dll
from java.library.path<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't
load library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\api-ms-win-core-errorhandling-l1-1-0.dll<br>
Loaded C:\Program
Files\TortoiseGit\bin\api-ms-win-core-errorhandling-l1-1-0.dll
from java.library.path<br>
WARNING: java.lang.UnsatisfiedLinkError: Can't
load library: C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\api-ms-win-core-file-l1-1-0.dll<br>
Loaded C:\Program
Files\TortoiseGit\bin\api-ms-win-core-file-l1-1-0.dll
from java.library.path</p>
<p>... cut ...<br>
</p>
</blockquote>
<p>So indeed, it seems to be picking up those dlls
from TortoiseGit.</p>
<p>The dlls are there:</p>
<blockquote>
<p>C:\Program Files\BellSoft\jdk-21-full\bin</p>
<p> Directory of C:\Program
Files\BellSoft\jdk-21-full\bin<br>
<br>
19.09.2023 17:09 22 008
api-ms-win-core-console-l1-1-0.dll<br>
19.09.2023 17:09 21 992
api-ms-win-core-console-l1-2-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-datetime-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-core-debug-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-core-errorhandling-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-core-fibers-l1-1-0.dll<br>
19.09.2023 17:09 26 120
api-ms-win-core-file-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-file-l1-2-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-file-l2-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-handle-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-heap-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-core-interlocked-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-libraryloader-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-core-localization-l1-2-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-memory-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-namedpipe-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-core-processenvironment-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-processthreads-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-processthreads-l1-1-1.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-profile-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-rtlsupport-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-string-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-synch-l1-1-0.dll<br>
19.09.2023 17:09 21 968
api-ms-win-core-synch-l1-2-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-sysinfo-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-core-timezone-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-core-util-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-crt-conio-l1-1-0.dll<br>
19.09.2023 17:09 26 104
api-ms-win-crt-convert-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-crt-environment-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-crt-filesystem-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-crt-heap-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-crt-locale-l1-1-0.dll<br>
19.09.2023 17:09 30 176
api-ms-win-crt-math-l1-1-0.dll<br>
19.09.2023 17:09 30 216
api-ms-win-crt-multibyte-l1-1-0.dll<br>
19.09.2023 17:09 75 232
api-ms-win-crt-private-l1-1-0.dll<br>
19.09.2023 17:09 22 008
api-ms-win-crt-process-l1-1-0.dll<br>
19.09.2023 17:09 26 080
api-ms-win-crt-runtime-l1-1-0.dll<br>
19.09.2023 17:09 26 120
api-ms-win-crt-stdio-l1-1-0.dll<br>
19.09.2023 17:09 26 120
api-ms-win-crt-string-l1-1-0.dll<br>
19.09.2023 17:09 21 984
api-ms-win-crt-time-l1-1-0.dll<br>
19.09.2023 17:09 22 024
api-ms-win-crt-utility-l1-1-0.dll<br>
</p>
</blockquote>
<p>but the look-up is using "C:\Program
Files\BellSoft\jdk-21-full\bin\javafx\..."</p>
<p>The Windows PATH starts out with:</p>
<blockquote>
<p>PATH=C:\Program
Files\BellSoft\jdk-21-full\bin;... cut ...<br>
</p>
</blockquote>
<p>---rony<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:90354a14-8d37-cae0-a37b-86e9d3a1ad27@oracle.com"> <br>
<div class="moz-cite-prefix">On 9/29/2023 5:06 AM,
Rony G. Flatscher wrote:<br>
</div>
<blockquote type="cite"
cite="mid:a94a107b-a916-4dca-b228-a2b1fb2c8572@wu.ac.at">
<p>Downloaded the 64-bit OpenJDK21 package for
Windows that include JavaFX from Azul ("FX")
and Bellsouth ("full"). </p>
<p>Both packages cause the following error:</p>
<blockquote>
<p>Exception in Application start method<br>
Exception in thread "JavaFX Application
Thread" java.lang.UnsatisfiedLinkError:
'java.lang.String com.sun.javafx.font.direct<br>
write.DWFactory.regReadFontLink(java.lang.String)'<br>
at
javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(Native
Method)<br>
at
javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.getFallbacks(DWFactory.java:166)<br>
at
javafx.graphics/com.sun.javafx.font.LogicalFont.getLinkedFonts(LogicalFont.java:214)<br>
at
javafx.graphics/com.sun.javafx.font.LogicalFont.getNumSlots(LogicalFont.java:223)<br>
at
javafx.graphics/com.sun.javafx.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)<br>
at
javafx.graphics/com.sun.javafx.font.LogicalFont.getGlyphMapper(LogicalFont.java:439)<br>
at
javafx.graphics/com.sun.javafx.text.GlyphLayout.breakRuns(GlyphLayout.java:229)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.buildRuns(PrismTextLayout.java:819)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1070)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:230)<br>
at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:256)<br>
at
javafx.controls/com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:129)<br>
at
javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:809)<br>
at
javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:306)<br>
at
javafx.controls/javafx.scene.control.Control.computeMinWidth(Control.java:504)<br>
at
javafx.graphics/javafx.scene.Parent.minWidth(Parent.java:1049)<br>
at
javafx.graphics/javafx.scene.layout.Region.minWidth(Region.java:1500)<br>
at
javafx.graphics/javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1959)<br>
at
javafx.graphics/javafx.scene.layout.AnchorPane.computeChildWidth(AnchorPane.java:344)<br>
at
javafx.graphics/javafx.scene.layout.AnchorPane.layoutChildren(AnchorPane.java:380)<br>
at
javafx.graphics/javafx.scene.Parent.layout(Parent.java:1208)<br>
at
javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:594)<br>
at
javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2600)<br>
at
javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:401)<br>
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:400)<br>
at
javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:400)<br>
at
javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:430)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:592)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:572)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:565)<br>
at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:352)<br>
at
javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)<br>
at
javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native
Method)<br>
at
javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)<br>
at
java.base/java.lang.Thread.run(Thread.java:1583)<br>
</p>
</blockquote>
<p>Would anyone know how to fix this, if
possible at all?</p>
<p>---rony</p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<br>
</body>
</html>