[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] Java issue with a proprietary game
From:       Hoël_Bézier <hoelbezier () riseup ! net>
Date:       2023-01-30 7:43:55
Message-ID: Y9d1O6kEaGGL9U6s () sparta
[Download RAW message or body]


Hi,

Recently I've run into an issue with a proprietary java game called The Count 
Lucanor. It is distributed on GOG.com with a bundled Java 8 binary. Since 
bundled libraries are evilâ„¢, I've tried getting rid of it in favor of my system 
java binary.

If the latter is Java 8, everything works as expected. However, using Java 17 
the game crashes on start with the following error:

Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion \
`version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!

This happened with dev-java/openjdk:17 but to my surprise didn't with 
dev-java/openjdk-bin:17. I figured Eclipse Temurin had to build OpenJDK with 
different flags than I did, which fixed the issue.

After running a bunch of tests, I managed to build a working java binary by 
removing -Wl,--as-needed from my LDFLAGS (or adding -Wl,--no-as-needed). This 
flag is set by my profile — default/linux/amd64/17.1 — so I expect mostly 
everyone to have it.

Should I propose a patch to dev-java/openjdk:17 in order to filter out 
-Wl,--as-needed? I have no idea what this flag is for nor if removing it might 
result in other issues, which is why I'm asking on this mailing-list before 
doing so. Moreover, that would be in order to fix an issue with a proprietary 
game, and I don't know what is Gentoo policy regarding that kind of bug.

If I am to propose a patch, should I do so using filter-flag from 
flag-o-matic.eclass, or no-as-needed which is provided by the same eclass and 
is a no-op on clang? (My C compiler is gcc and I haven't tested building 
OpenJDK17 with clang.)

If I should propose a patch, should I first open a bug in gentoo bugtracker so 
that it may be referenced in the ebuild?

Thanks
Hoël

PS: Using dev-java/openjdk:11 to run the game also fails, but with a different 
error which I did not try to fix. So this discussion is only about 
dev-java/openjdk:17.


["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic