如何解决“检测到不一致:dl-lookup.c: 111”(Java 结果 127)错误?降级到 OpenJDK 8将 libGDX 从 切换到lwjgllwjgl3

2022-09-01 06:49:05

我目前正在尝试使用Maven为我正在开发的libGDX游戏构建一个Java项目。

我想我在Ubuntu 18.04 LTS发行版上使用Java 8 OpenJDK(1.8.0_211)。

相关问题调试ld,“ld.so 检测到的不一致”无法帮助我。Java 错误代码 127 表示在我的 (?) 上找不到资源CLASSPATH

为便于阅读而设置格式的错误:

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

答案 1

降级到 OpenJDK 8

我在Xubuntu 18.04中遇到了同样的问题,Eclipse 2018-12(4.10.0)。它工作正常,但可能是系统中的一些更新(或特别是OpenJDK)开始了这个问题。此外,Gradle 任务不会显示在 Gradle 窗口中。

我解决了删除包的问题:,,,,,它们都是“指向” 。default-jredefault-jdkdefault-jre-headlessdefault-jdk-headlessopenjdk-11

然后我安装了软件包:、、 和 。openjdk-8-jreopenjdk-8-jdkopenjdk-8-jre-headlessopenjdk-8-jdk-headless

将 的 vm 部分更改为:eclipse.ini-vm /usr/lib/jvm/java-8-openjdk-amd64/bin

现在一切正常,Gradle任务再次显示。为了澄清,我也在使用LibGDX。


答案 2

将 libGDX 从 切换到lwjgllwjgl3

我在OpenJDK 11 / Java 11()上遇到了与你相同的问题。修好了,它切换到了哪里,顺便说一句,这也为我解决了一些其他问题!(当我退出应用程序时,整个屏幕变黑,鼠标光标捕获仅部分工作,等等)openjdk 11.0.10 2021-01-19lwjgl3

在将第一个块更改为第二个块中:build.gradle

api "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"

同时调整您的导入(例如,在类中):DesktopLauncher

import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;

lwjgl3应该几乎完全兼容,在我的情况下,我只需要更新配置:

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.samples = 8;
config.height = 720;
config.width = 1280;
config.vSyncEnabled = true;
new LwjglApplication(new RangeAnxietyGame(), config);
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
config.setBackBufferConfig(8, 8, 8, 8, 16, 0, 8);
config.setWindowedMode(1280, 720);
config.useVsync(true);
new Lwjgl3Application(new RangeAnxietyGame(), config);

推荐