Discussion:
AudioClip Missing glib-lite.dll
c***@bekwam.com
2018-11-06 17:25:19 UTC
Permalink
Hi,



I'm running OpenJFX 8u202-b02. I'm getting a missing DLL error on an
AudioClip object creation statement. The Java code and stack trace follow.



I didn't compile webkit. If that's needed, can someone tell me which target
or makefile to run? The Wiki shows the dependencies like cmake but not any
actual commands or Gradle tasks.



If I switch to the Oracle JDK 8u192, the code works. There is a
glib-lite.dll in the Oracle jre\bin folder.



Thanks,

Carl



clipMap.put( "0", new AudioClip(f.toURI().toString()));



Caused by: java.lang.UnsatisfiedLinkError: Can't load library:
D:\Java\open-jdk8u181-b13-openjfx\jre\bin\glib-lite.dll

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1827)

at java.lang.Runtime.load0(Runtime.java:809)

at java.lang.System.load(System.java:1086)

at
com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java
:201)

at
com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java
:94)

at
com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:39)

at
com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$0(NativeMediaManage
r.java:108)

at java.security.AccessController.doPrivileged(Native
Method)

at
com.sun.media.jfxmediaimpl.NativeMediaManager.<init>(NativeMediaManager.java
:106)

at
com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.
<clinit>(NativeMediaManager.java:77)

at
com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(NativeMedia
Manager.java:89)

at
com.sun.media.jfxmedia.MediaManager.canPlayProtocol(MediaManager.java:78)

at
com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:239)

at
com.sun.media.jfxmediaimpl.NativeMediaAudioClip.<init>(NativeMediaAudioClip.
java:53)

at
com.sun.media.jfxmediaimpl.NativeMediaAudioClip.load(NativeMediaAudioClip.ja
va:63)

at
com.sun.media.jfxmediaimpl.AudioClipProvider.load(AudioClipProvider.java:66)

at com.sun.media.jfxmedia.AudioClip.load(AudioClip.java:135)

at javafx.scene.media.AudioClip.<init>(AudioClip.java:83)

at com.mycompany.audio.AudioBean.load(AudioBean.java:171)
Kevin Rushforth
2018-11-06 18:06:05 UTC
Permalink
When you say "OpenJFX 8u202-b02" I'm assuming that you mean a local
build of FX 8u-dev using the 8u202-b02 tag?

You don't need to compile webkit, but you do need to compile media
(which is also not built by default). To compile media you need to run:

gradle -PCOMPILE_MEDIA=true ...

-- Kevin
Post by c***@bekwam.com
Hi,
I'm running OpenJFX 8u202-b02. I'm getting a missing DLL error on an
AudioClip object creation statement. The Java code and stack trace follow.
I didn't compile webkit. If that's needed, can someone tell me which target
or makefile to run? The Wiki shows the dependencies like cmake but not any
actual commands or Gradle tasks.
If I switch to the Oracle JDK 8u192, the code works. There is a
glib-lite.dll in the Oracle jre\bin folder.
Thanks,
Carl
clipMap.put( "0", new AudioClip(f.toURI().toString()));
D:\Java\open-jdk8u181-b13-openjfx\jre\bin\glib-lite.dll
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1827)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at
com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java
:201)
at
com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java
:94)
at
com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:39)
at
com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$0(NativeMediaManage
r.java:108)
at java.security.AccessController.doPrivileged(Native
Method)
at
com.sun.media.jfxmediaimpl.NativeMediaManager.<init>(NativeMediaManager.java
:106)
at
com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.
<clinit>(NativeMediaManager.java:77)
at
com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(NativeMedia
Manager.java:89)
at
com.sun.media.jfxmedia.MediaManager.canPlayProtocol(MediaManager.java:78)
at
com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:239)
at
com.sun.media.jfxmediaimpl.NativeMediaAudioClip.<init>(NativeMediaAudioClip.
java:53)
at
com.sun.media.jfxmediaimpl.NativeMediaAudioClip.load(NativeMediaAudioClip.ja
va:63)
at
com.sun.media.jfxmediaimpl.AudioClipProvider.load(AudioClipProvider.java:66)
at com.sun.media.jfxmedia.AudioClip.load(AudioClip.java:135)
at javafx.scene.media.AudioClip.<init>(AudioClip.java:83)
at com.mycompany.audio.AudioBean.load(AudioBean.java:171)
c***@bekwam.com
2018-11-06 20:48:01 UTC
Permalink
Hi Kevin,

That's correct. I just pulled and am building the tip. Commit af7c270b.

I tried the -P option. It looks like a lot of it built, but I'm getting the following error.
Task :media:buildWinPlugins
make: Entering directory '/cygdrive/d/hg/rt/modules/media/src/main/native/gstreamer/projects/win/fxplugins'
make TARGET=/cygdrive/d/hg/rt/modules/media/build/native/win/Release/baseclasses.lib -f Makefile.BaseClasses
cygpath: cannot create short name of C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
make[1]: Entering directory '/cygdrive/d/hg/rt/modules/media/src/main/native/gstreamer/projects/win/fxplugins'
Usage: cygpath (-d|-m|-u|-w|-t TYPE) [-f FILE] [OPTION]... NAME...

I think this leads to a linker error later on.

I believe I have all the DirectX stuff from Visual Studio 2017 on my harddisk. I tried setting DXSDK_DIR but that didn't affect the path listed above. I don't have a \Program Files\Microsoft SDKs\Windows folder so I'm not sure where that path is coming from.

-Carl

-----Original Message-----
From: Kevin Rushforth <***@oracle.com>
Sent: Tuesday, November 6, 2018 1:06 PM
To: ***@bekwam.com; openjfx-***@openjdk.java.net
Subject: Re: AudioClip Missing glib-lite.dll

When you say "OpenJFX 8u202-b02" I'm assuming that you mean a local build of FX 8u-dev using the 8u202-b02 tag?

You don't need to compile webkit, but you do need to compile media (which is also not built by default). To compile media you need to run:

gradle -PCOMPILE_MEDIA=true ...

-- Kevin
Hi,
I'm running OpenJFX 8u202-b02. I'm getting a missing DLL error on an
AudioClip object creation statement. The Java code and stack trace follow.
I didn't compile webkit. If that's needed, can someone tell me which
target or makefile to run? The Wiki shows the dependencies like cmake
but not any actual commands or Gradle tasks.
If I switch to the Oracle JDK 8u192, the code works. There is a
glib-lite.dll in the Oracle jre\bin folder.
Thanks,
Carl
clipMap.put( "0", new AudioClip(f.toURI().toString()));
D:\Java\open-jdk8u181-b13-openjfx\jre\bin\glib-lite.dll
at
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1827)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at
com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoade
r.java
:201)
at
com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoade
r.java
:94)
at
com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:3
9)
at
com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$0(NativeMedia
Manage
r.java:108)
at java.security.AccessController.doPrivileged(Native
Method)
at
com.sun.media.jfxmediaimpl.NativeMediaManager.<init>(NativeMediaManage
r.java
:106)
at
com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.
<clinit>(NativeMediaManager.java:77)
at
com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(Nativ
eMedia
Manager.java:89)
at
78)
at
com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:239)
at
com.sun.media.jfxmediaimpl.NativeMediaAudioClip.<init>(NativeMediaAudioClip.
java:53)
at
com.sun.media.jfxmediaimpl.NativeMediaAudioClip.load(NativeMediaAudioC
lip.ja
va:63)
at
com.sun.media.jfxmediaimpl.AudioClipProvider.load(AudioClipProvider.ja
va:66)
at
com.sun.media.jfxmedia.AudioClip.load(AudioClip.java:135)
at
javafx.scene.media.AudioClip.<init>(AudioClip.java:83)
at
com.mycompany.audio.AudioBean.load(AudioBean.java:171)
Loading...