Unable to load lwjgl 2.x after JDK-8200178
David Holmes
david.holmes at oracle.com
Thu Jun 29 07:06:24 UTC 2023
Hi Vladimir,
This is not the first time this has come up:
https://mail.openjdk.org/pipermail/build-dev/2020-February/026730.html
but no real resolution.
David
On 27/06/2023 6:31 pm, Vladimir Petko wrote:
> Dear Maintainers,
>
> There is a bug[1] submitted in Debian that a number of games crash
> with the assertion
>
> Inconsistency detected by ld.so: dl-lookup.c: 107: check_match:
> Assertion `version->filename == NULL || ! _dl_name_match_p
> (version->filename, map)' failed!
>
> The investigation points to JAWT_GetAWT function from libjawt.so.
>
> In Java 8 the build system supplied a mapfile which set the symbol
> version for JAWT_GetAWT. It is no longer the case for Java 11+ due
> to JDK-8200178.
> If the native library was linked against Java 8 (e.g. lwjgl 2.x) then
> it would be linking against the versioned symbol.
> The assertion in the loader only fires when the version section
> (.gnu.version) is absent, otherwise the loader provides the default
> version of the function. This allows Temurin builds to work with those games.
>
> I wonder if some of the map files could be reverted for the
> compatibility reasons with Java 8, or it is not a recommended
> approach?
>
> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031521
More information about the build-dev
mailing list