[External] : Re: OpenJDK 21 with FX (Azul, Bellsouth) on Windows: java.lang.UnsatisfiedLinkError: 'java.lang.String com.sun.javafx.font.direct, write.DWFactory.regReadFontLink(java.lang.String)'

Kevin Rushforth kevin.rushforth at oracle.com
Sat Sep 30 16:31:59 UTC 2023


Both companies have folks who monitor this list, so maybe they will see 
it and respond.

> In the meantime copying bin to bin/javafx is an easy-enough local 
> "solution". :)
>

Yes.

-- Kevin


On 9/30/2023 8:53 AM, Rony G. Flatscher wrote:
> On 30.09.2023 15:05, Kevin Rushforth wrote:
>> 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.
>>
>> -- Kevin
>>
>> [1] https://bugs.openjdk.org/browse/JDK-8281089
>
> Thank you very much, Kevin!
>
> 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.)
>
> In the meantime copying bin to bin/javafx is an easy-enough local 
> "solution". :)
>
> ---rony
>
>
>> On 9/30/2023 4:40 AM, Rony G. Flatscher wrote:
>>> Added the subdir "bin/javafx" then copied all files of "bin" into it 
>>> after which everything works.
>>>
>>> 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".
>>>
>>> ---rony
>>>
>>>
>>> On 29.09.2023 23:32, Rony G. Flatscher wrote:
>>>>
>>>> Also, in this case JAVA_HOME is set as:
>>>>
>>>>     F:\work\svn\bsf4oorexx\branches\850\bsf4oorexx\samples\JavaFX>set j
>>>>     JAVA_HOME=C:\Program Files\BellSoft\jdk-21-full
>>>>
>>>> ---rony
>>>>
>>>>
>>>> On 29.09.2023 23:29, Rony G. Flatscher wrote:
>>>>>
>>>>> Sorry, had to go to an event in between.
>>>>>
>>>>> On 29.09.2023 15:35, Kevin Rushforth wrote:
>>>>>> 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.
>>>>>
>>>>> This is interesting as well, here the occurrences of javafx_font.dll:
>>>>>
>>>>>     F:\work\svn\bsf4oorexx\branches\850\bsf4oorexx\samples\JavaFX>dir
>>>>>     C:\javafx_font.dll /s
>>>>>      Volume in drive C is root_c
>>>>>      Volume Serial Number is 2AF2-88BA
>>>>>
>>>>>      Directory of C:\Program Files\azul\zulu21_jdk21.0.0\bin
>>>>>
>>>>>     12.09.2023  14:02            77 864 javafx_font.dll
>>>>>                    1 File(s)         77 864 bytes
>>>>>
>>>>>      Directory of C:\Program Files\BellSoft\jdk-18.0.1.1-full\bin
>>>>>
>>>>>     28.05.2022  04:41            76 992 javafx_font.dll
>>>>>                    1 File(s)         76 992 bytes
>>>>>
>>>>>      Directory of C:\Program Files\BellSoft\jdk-21-full\bin
>>>>>
>>>>>     20.09.2023  01:11            77 504 javafx_font.dll
>>>>>                    1 File(s)         77 504 bytes
>>>>>
>>>>>      Directory of C:\Program Files\BellSoft\LibericaJDK-17-Full\bin
>>>>>
>>>>>     12.01.2023  21:09            76 992 javafx_font.dll
>>>>>                    1 File(s)         76 992 bytes
>>>>>
>>>>>      Directory of C:\Program Files
>>>>>     (x86)\BellSoft\jdk8u312-full\jre\bin
>>>>>
>>>>>     16.10.2021  20:54            61 152 javafx_font.dll
>>>>>                    1 File(s)         61 152 bytes
>>>>>
>>>>>      Directory of C:\Program Files
>>>>>     (x86)\BellSoft\LibericaJDK-17-Full\bin
>>>>>
>>>>>     28.05.2022  02:52            62 144 javafx_font.dll
>>>>>                    1 File(s)         62 144 bytes
>>>>>
>>>>>      Directory of C:\Program Files
>>>>>     (x86)\BellSoft\LibericaJDK-8-Full\jre\bin
>>>>>
>>>>>     27.05.2022  22:59            61 632 javafx_font.dll
>>>>>                    1 File(s)         61 632 bytes
>>>>>
>>>>>      Directory of
>>>>>     C:\Users\Administrator\.IdeaIC2019.3\system\tmp\patch-update\jre\bin
>>>>>
>>>>>     16.04.2020  17:59            80 408 javafx_font.dll
>>>>>                    1 File(s)         80 408 bytes
>>>>>
>>>>>      Directory of
>>>>>     C:\Users\Administrator\AppData\Local\JetBrains\IdeaIC2020.1\tmp\patch-update\jre\bin
>>>>>
>>>>>     24.09.2020  16:30            80 408 javafx_font.dll
>>>>>                    1 File(s)         80 408 bytes
>>>>>
>>>>>      Directory of
>>>>>     C:\Users\Administrator\AppData\Local\SceneBuilder\runtime\bin
>>>>>
>>>>>     05.06.2018  13:48            58 792 javafx_font.dll
>>>>>                    1 File(s)         58 792 bytes
>>>>>
>>>>>          Total Files Listed:
>>>>>                   10 File(s)        713 888 bytes
>>>>>                    0 Dir(s)  34 872 254 464 bytes free
>>>>>
>>>>> Here here the relevant trace:
>>>>>
>>>>>     ... cut ...
>>>>>     WARNING: java.lang.UnsatisfiedLinkError: Can't load library:
>>>>>     C:\Program Files\BellSoft\jdk-21-full\bin\javafx\msvcp140_2.dll
>>>>>     Loaded C:\Program
>>>>>     Files\BellSoft\LibericaJDK-17-Full\bin\msvcp140_2.dll from
>>>>>     java.library.path
>>>>>     WARNING: java.lang.UnsatisfiedLinkError: Can't load library:
>>>>>     C:\Program Files\BellSoft\jdk-21-full\bin\javafx\prism_d3d.dll
>>>>>     Loaded C:\Program
>>>>>     Files\BellSoft\LibericaJDK-17-Full\bin\prism_d3d.dll from
>>>>>     java.library.path
>>>>>     JavaFX: using com.sun.javafx.tk.quantum.QuantumToolkit
>>>>>     WARNING: java.lang.UnsatisfiedLinkError: Can't load library:
>>>>>     C:\Program Files\BellSoft\jdk-21-full\bin\javafx\glass.dll
>>>>>     Loaded C:\Program
>>>>>     Files\BellSoft\LibericaJDK-17-Full\bin\glass.dll from
>>>>>     java.library.path
>>>>>     WARNING: java.lang.UnsatisfiedLinkError: Can't load library:
>>>>>     C:\Program Files\BellSoft\jdk-21-full\bin\javafx\javafx_font.dll
>>>>>     Loaded C:\Program
>>>>>     Files\BellSoft\LibericaJDK-17-Full\bin\javafx_font.dll from
>>>>>     java.library.path
>>>>>     Exception in Application start method
>>>>>     Exception in thread "JavaFX Application Thread"
>>>>>     java.lang.UnsatisfiedLinkError: 'java.lang.String
>>>>>     com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(java.
>>>>>     lang.String)'
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(Native
>>>>>     Method)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.getFallbacks(DWFactory.java:166)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.font.LogicalFont.getLinkedFonts(LogicalFont.java:214)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.font.LogicalFont.getNumSlots(LogicalFont.java:223)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.font.LogicalFont.getGlyphMapper(LogicalFont.java:439)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.text.GlyphLayout.breakRuns(GlyphLayout.java:229)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.buildRuns(PrismTextLayout.java:819)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1070)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:230)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:256)
>>>>>             at
>>>>>     javafx.controls/com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:129)
>>>>>             at
>>>>>     javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:809)
>>>>>             at
>>>>>     javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:306)
>>>>>             at
>>>>>     javafx.controls/javafx.scene.control.Control.computeMinWidth(Control.java:504)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.Parent.minWidth(Parent.java:1049)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.layout.Region.minWidth(Region.java:1500)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1959)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.layout.AnchorPane.computeChildWidth(AnchorPane.java:344)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.layout.AnchorPane.layoutChildren(AnchorPane.java:380)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.Parent.layout(Parent.java:1208)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:594)
>>>>>             at
>>>>>     javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2600)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:401)
>>>>>             at
>>>>>     java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:400)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:430)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:592)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:572)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:565)
>>>>>             at
>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:352)
>>>>>             at
>>>>>     javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
>>>>>             at
>>>>>     javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native
>>>>>     Method)
>>>>>             at
>>>>>     javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
>>>>>             at java.base/java.lang.Thread.run(Thread.java:1583)
>>>>>
>>>>> Here the PATH environment variable in this case (no jdk17):
>>>>>
>>>>>     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\
>>>>>
>>>>> 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".
>>>>>
>>>>> 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\".
>>>>>
>>>>> 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.
>>>>>
>>>>> ---rony
>>>>>
>>>>>
>>>>>> On 9/29/2023 6:30 AM, Rony G. Flatscher wrote:
>>>>>>> On 29.09.2023 14:53, Kevin Rushforth wrote:
>>>>>>>> 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.
>>>>>>>
>>>>>>> Thank you, this is the output:
>>>>>>>
>>>>>>>     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
>>>>>>>     Loaded C:\Program
>>>>>>>     Files\TortoiseGit\bin\api-ms-win-core-console-l1-1-0.dll
>>>>>>>     from java.library.path
>>>>>>>     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
>>>>>>>     System.loadLibrary(api-ms-win-core-console-l1-2-0) succeeded
>>>>>>>     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
>>>>>>>     Loaded C:\Program
>>>>>>>     Files\TortoiseGit\bin\api-ms-win-core-datetime-l1-1-0.dll
>>>>>>>     from java.library.path
>>>>>>>     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
>>>>>>>     Loaded C:\Program
>>>>>>>     Files\TortoiseGit\bin\api-ms-win-core-debug-l1-1-0.dll from
>>>>>>>     java.library.path
>>>>>>>     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
>>>>>>>     Loaded C:\Program
>>>>>>>     Files\TortoiseGit\bin\api-ms-win-core-errorhandling-l1-1-0.dll
>>>>>>>     from java.library.path
>>>>>>>     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
>>>>>>>     Loaded C:\Program
>>>>>>>     Files\TortoiseGit\bin\api-ms-win-core-file-l1-1-0.dll from
>>>>>>>     java.library.path
>>>>>>>
>>>>>>>     ... cut ...
>>>>>>>
>>>>>>> So indeed, it seems to be picking up those dlls from TortoiseGit.
>>>>>>>
>>>>>>> The dlls are there:
>>>>>>>
>>>>>>>     C:\Program Files\BellSoft\jdk-21-full\bin
>>>>>>>
>>>>>>>      Directory of C:\Program Files\BellSoft\jdk-21-full\bin
>>>>>>>
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-console-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 992
>>>>>>>     api-ms-win-core-console-l1-2-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-datetime-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-debug-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-errorhandling-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-fibers-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            26 120
>>>>>>>     api-ms-win-core-file-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-file-l1-2-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-file-l2-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-handle-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-heap-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-interlocked-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-libraryloader-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-localization-l1-2-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-memory-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-namedpipe-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-core-processenvironment-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-processthreads-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-processthreads-l1-1-1.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-profile-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-rtlsupport-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-string-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-synch-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 968
>>>>>>>     api-ms-win-core-synch-l1-2-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-sysinfo-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-core-timezone-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-core-util-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-crt-conio-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            26 104
>>>>>>>     api-ms-win-crt-convert-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-crt-environment-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-crt-filesystem-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-crt-heap-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-crt-locale-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            30 176
>>>>>>>     api-ms-win-crt-math-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            30 216
>>>>>>>     api-ms-win-crt-multibyte-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            75 232
>>>>>>>     api-ms-win-crt-private-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 008
>>>>>>>     api-ms-win-crt-process-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            26 080
>>>>>>>     api-ms-win-crt-runtime-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            26 120
>>>>>>>     api-ms-win-crt-stdio-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            26 120
>>>>>>>     api-ms-win-crt-string-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            21 984
>>>>>>>     api-ms-win-crt-time-l1-1-0.dll
>>>>>>>     19.09.2023  17:09            22 024
>>>>>>>     api-ms-win-crt-utility-l1-1-0.dll
>>>>>>>
>>>>>>> but the look-up is using "C:\Program 
>>>>>>> Files\BellSoft\jdk-21-full\bin\javafx\..."
>>>>>>>
>>>>>>> The Windows PATH starts out with:
>>>>>>>
>>>>>>>     PATH=C:\Program Files\BellSoft\jdk-21-full\bin;... cut ...
>>>>>>>
>>>>>>> ---rony
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> On 9/29/2023 5:06 AM, Rony G. Flatscher wrote:
>>>>>>>>>
>>>>>>>>> Downloaded the 64-bit OpenJDK21 package for Windows that 
>>>>>>>>> include JavaFX from Azul ("FX") and Bellsouth ("full").
>>>>>>>>>
>>>>>>>>> Both packages cause the following error:
>>>>>>>>>
>>>>>>>>>     Exception in Application start method
>>>>>>>>>     Exception in thread "JavaFX Application Thread"
>>>>>>>>>     java.lang.UnsatisfiedLinkError: 'java.lang.String
>>>>>>>>>     com.sun.javafx.font.direct
>>>>>>>>>     write.DWFactory.regReadFontLink(java.lang.String)'
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(Native
>>>>>>>>>     Method)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.getFallbacks(DWFactory.java:166)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.font.LogicalFont.getLinkedFonts(LogicalFont.java:214)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.font.LogicalFont.getNumSlots(LogicalFont.java:223)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.font.LogicalFont.getGlyphMapper(LogicalFont.java:439)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.text.GlyphLayout.breakRuns(GlyphLayout.java:229)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.buildRuns(PrismTextLayout.java:819)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1070)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:230)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:256)
>>>>>>>>>             at
>>>>>>>>>     javafx.controls/com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:129)
>>>>>>>>>             at
>>>>>>>>>     javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:809)
>>>>>>>>>             at
>>>>>>>>>     javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:306)
>>>>>>>>>             at
>>>>>>>>>     javafx.controls/javafx.scene.control.Control.computeMinWidth(Control.java:504)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.Parent.minWidth(Parent.java:1049)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.layout.Region.minWidth(Region.java:1500)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1959)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.layout.AnchorPane.computeChildWidth(AnchorPane.java:344)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.layout.AnchorPane.layoutChildren(AnchorPane.java:380)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.Parent.layout(Parent.java:1208)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:594)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2600)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:401)
>>>>>>>>>             at
>>>>>>>>>     java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:400)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:430)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:592)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:572)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:565)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:352)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native
>>>>>>>>>     Method)
>>>>>>>>>             at
>>>>>>>>>     javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)
>>>>>>>>>             at java.base/java.lang.Thread.run(Thread.java:1583)
>>>>>>>>>
>>>>>>>>> Would anyone know how to fix this, if possible at all?
>>>>>>>>>
>>>>>>>>> ---rony
>>>>>>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20230930/686fce91/attachment-0001.htm>


More information about the openjfx-dev mailing list