-
Bug
-
Resolution: Not an Issue
-
P2
-
fx2.0
-
- Windows XP
- Java 6 (update 26)
- JavaFX 2 Beta (build 34)
Whenever a standalone JavaFX 2 application is started it fails due to a missing dependency on one or more DLLs on Windows. Even if the JavaFX 2 runtime is installed the same problem occurs. Below is a typical error message that appears when attempting to start a standalone JavaFX 2 application in the console:
======================================================================
Error: failed to msvcr100.dll java.lang.UnsatisfiedLinkError: Can't load library
: C:\Documents and Settings\nick\My Documents\NetBeans Projects\Autohome Designe
r\dist\bin\msvcr100.dll
*** Fallback to Prism SW pipeline
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLink
Error: Can't load library: C:\Documents and Settings\nick\My Documents\NetBeans
Projects\Autohome Designer\dist\bin\mat.dll
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:
252)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:30)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:91)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:
17)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:55)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Documents and
Settings\nick\My Documents\NetBeans Projects\Autohome Designer\dist\bin\mat.dll
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoad
er.java:155)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoad
er.java:85)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:
30)
at com.sun.glass.ui.Application$1.run(Application.java:27)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:25)
at com.sun.glass.ui.win.WinApplication.<clinit>(WinApplication.java:33)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatform
Factory.java:20)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatform
Factory.java:17)
at com.sun.glass.ui.Application.Run(Application.java:49)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:
242)
... 5 more
======================================================================
It would be interesting to see if there is a similar issue with starting a standalone JavaFX 2 application on Ubuntu. Many of the required JavaFX libraries are already available straight out of the box (mainly the Gnome libraries including GStreamer). Unfortunately JavaFX 2 does not support Linux yet therefore there is no way to test this.
Why does a required library have to be placed in a directory called "bin" when it should be in one called "lib"?
======================================================================
Error: failed to msvcr100.dll java.lang.UnsatisfiedLinkError: Can't load library
: C:\Documents and Settings\nick\My Documents\NetBeans Projects\Autohome Designe
r\dist\bin\msvcr100.dll
*** Fallback to Prism SW pipeline
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLink
Error: Can't load library: C:\Documents and Settings\nick\My Documents\NetBeans
Projects\Autohome Designer\dist\bin\mat.dll
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:
252)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:30)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherIm
pl.java:91)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:
17)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:55)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Documents and
Settings\nick\My Documents\NetBeans Projects\Autohome Designer\dist\bin\mat.dll
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoad
er.java:155)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoad
er.java:85)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:
30)
at com.sun.glass.ui.Application$1.run(Application.java:27)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:25)
at com.sun.glass.ui.win.WinApplication.<clinit>(WinApplication.java:33)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatform
Factory.java:20)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatform
Factory.java:17)
at com.sun.glass.ui.Application.Run(Application.java:49)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:
242)
... 5 more
======================================================================
It would be interesting to see if there is a similar issue with starting a standalone JavaFX 2 application on Ubuntu. Many of the required JavaFX libraries are already available straight out of the box (mainly the Gnome libraries including GStreamer). Unfortunately JavaFX 2 does not support Linux yet therefore there is no way to test this.
Why does a required library have to be placed in a directory called "bin" when it should be in one called "lib"?