[jdk8u-dev] RFR: 8193017: Import freetype sources into OpenJDK source tree
Jiří Vaněk
jvanek at openjdk.org
Wed Oct 29 10:17:11 UTC 2025
On Tue, 28 Oct 2025 13:31:44 GMT, Jiří Vaněk <jvanek at openjdk.org> wrote:
> Hi!
>
> I had recently hit an issue with jdk8, which, if build on old system - eg el7, it can not run GUI application on newest system like f42 or similar:
>
> java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-1.8.0-openjdk-jdk8u462.b05-0.ojdk8~u~upstream.hotspot.release.sdk.el7.x86_64.tarxz/jre/lib/amd64/libfontmanager.so: /lib64/libharfbuzz.so.0: undefined symbol: FT_Get_Color_Glyph_Layer
> at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
> at java.lang.Runtime.loadLibrary0(Runtime.java:843)
> at java.lang.System.loadLibrary(System.java:1136)
> at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:61)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
> at sun.java2d.xr.XRSurfaceData.initXRSurfaceData(XRSurfaceData.java:85)
> at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:137)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
>
>
> As per investigations the issue is in duality of freetype, and is solved by `8193017: Import freetype sources into OpenJDK source tree`
>
> This is fully based on unfinished https://github.com/openjdk/jdk8u-dev/pull/318 , with smal lexception of rebase, and docs adaptation. The change in `doc/building.html ` is unluckily done manually, as `make update-build-docs` is regenerating half of the universum. Is it desired? Is there some recomended version of pandoc to use?
>
> pandoc --version
> pandoc 3.1.11.1
> Features: +server +lua
> Scripting engine: Lua 5.4
>
>
> I had tested builds on windows and several linuxes, run full jtregs and checked the GUI works again. I can link full set of tests if needed (actually many of them are still running).
>
> For record, I built by temurin build wrapper, which needed an change to adapt to this: https://github.com/adoptium/temurin-build/pull/4287
Good. The builds passed. I somehow do not see the issue in the tier1. I had run them on many OSes and many platforms, and all looks good.
intel:
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-el7z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 151/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-f42.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 110/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/UNSTABLE/1 day 21 hr ago ;
- com/sun/jdi/oom/OomDebugTest.java#OomDebugTest unrelated ot the change
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-el7z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 125/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-el8z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 123/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-f41.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 105/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-el7z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 139/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-f42.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 77/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-el9.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 74/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-el9.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 81/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-el9.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 74/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-f42.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 74/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-f41.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 111/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-f41.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 73/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 21 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-el9.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 82/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-el8z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 149/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-f42.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 121/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-el8z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 126/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.release.sdk-el7z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 120/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-el7.x86_64-hotspot.fastdebug.sdk-el8z.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfron 123/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
jtreg~tier1-jp8-ojdk8~u~upstream-win2022.x86_64-hotspot.release.sdk-win2022.x86_64.vagrant-x11.defaultgc.legacy.lnxagent.jfroff 89/jdk8u472.b06-10.freetype1.ojdk8~u~upstream/SUCCESS/1 day 22 hr ago ;
Noni-ntels may look wilder, but there is no new failure. And they are mostly not running GUI anyway...
-------------
PR Comment: https://git.openjdk.org/jdk8u-dev/pull/709#issuecomment-3460729593
More information about the jdk8u-dev
mailing list