[OpenJDK 2D-Dev] <AWT Dev> libfontmanager.so: undefined symbol: hb_font_destroy in openjdk17~14

Philip Race philip.race at oracle.com
Mon Mar 29 16:41:51 UTC 2021


Moving this to the right list.

There's lots of missing information in your email.

1) I don't know what a debian sid is. Internet suggests it is some 
upstream dev version
Is this reproducible on any shipping distro ?

2) Where exactly did you get the openjdk build 17 ? Was it from 
https://jdk.java.net/17/ or somewhere else ?
Please show the output of "java -version" to help confirm it.

3) What does  "ls -l lib/libfontmanager.so" show ?

4) What was the JDK version you had immediately before this and where 
did you get that ?

5) Does either JDK 11u or JDK15u work in this respect on that system ?

-phil

On 3/19/21 6:03 AM, mc36 wrote:
> hi,
> just upgraded from openjdk17~11 to openjdk17~14 
> (https://packages.debian.org/sid/main/openjdk-17-jdk) on my debian 
> sid. i quickly noticed that something is wrong so i ended up with the 
> below sample app.
> i'm not a big c coder so all i was able to do is that i got the 
> libharfbuzz sources 
> (https://packages.debian.org/unstable/libharfbuzz-dev) and checked 
> that i have that version and the function is there.
> i would appreciate some idea what else should i try?
> thanks,
> csaba
>
>
> mc36 at noti:~$ cat a.java
>
> import java.awt.Graphics2D;
> import java.awt.image.BufferedImage;
>
> public class a {
>
>     public static void main(String[] args) throws Exception {
>         BufferedImage img = new BufferedImage(100, 100, 
> BufferedImage.TYPE_INT_RGB);
>         Graphics2D g2d = img.createGraphics();
>     }
>
> }
>
>
> mc36 at noti:~$ javac a.java
> mc36 at noti:~$ java a
> Exception in thread "main" java.lang.UnsatisfiedLinkError: 
> /usr/lib/jvm/java-17-openjdk-amd64/lib/libfontmanager.so: 
> /usr/lib/jvm/java-17-openjdk-amd64/lib/libfontmanager.so: undefined 
> symbol: hb_font_destroy
>         at java.base/jdk.internal.loader.NativeLibraries.load(Native 
> Method)
>         at 
> java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
>         at 
> java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
>         at 
> java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
>         at 
> java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:310)
>         at 
> java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:280)
>         at 
> java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2392)
>         at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:808)
>         at java.base/java.lang.System.loadLibrary(System.java:1893)
>         at 
> java.desktop/sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:57)
>         at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
>         at 
> java.desktop/sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
>         at 
> java.desktop/sun.java2d.xr.XRSurfaceData.initXRSurfaceData(XRSurfaceData.java:104)
>         at 
> java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:122)
>         at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
>         at 
> java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:59)
>         at 
> java.desktop/sun.awt.PlatformGraphicsInfo.createGE(PlatformGraphicsInfo.java:36)
>         at 
> java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:93)
>         at 
> java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:84)
>         at 
> java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:106)
>         at 
> java.desktop/java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1181)
>         at a.main(a.java:9)
> mc36 at noti:~$



More information about the 2d-dev mailing list