如何解决“检测到不一致:dl-lookup.c:111”(Java结果127)错误?

Jac*_*ack 7 java linux maven ubuntu-18.04

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

另一个用户最近推送到我们的存储库已破坏了我的构建,但对其他用户而言则不行。

在最近的构建中,未对Pom.xml进行任何更改,并且我的Java环境保持一致。

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

Maven存储库能够成功编译,但是当我尝试使用预定的(mvn Integration-test -Pdesktop)构建执行代码时,会收到“构建成功”,一些错误并且没有启动应用程序。

我看过Linux论坛,但是找不到类似的案例。

普通的Maven调试选项尚未提供我认识到的问题的任何初始指示。

我已经看过几个Stack Overflow问题,包括 调试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
Run Code Online (Sandbox Code Playgroud)

成功后,我希望该版本能够报告成功并启动游戏。在失败时,我曾期望该构建报告一次失败,但是相反,我看到在没有启动LibGDX应用程序的情况下构建成功。

该构建当前正在为其他平台上的用户运行。

sne*_*sgx 8

降级到OpenJDK 8

我在带有Eclipse 2018-12(4.10.0)的Xubuntu 18.04中遇到了相同的问题。它工作正常,但可能是系统中的某些更新(或专门针对OpenJDK的更新)引发了此问题。此外,Gradle任务没有显示在Gradle窗口中。

我解决了删除软件包的问题:default-jre,default-jdk,default-jre-headless,default-jdk-headless,所有这些都“指向” openjdk-11。

然后我安装了软件包:openjdk-8-jre,openjdk-8-jdk,openjdk-8-jre-headless和openjdk-8-jdk-headless。

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

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


xjc*_*jcl 7

将 libGDX 从 切换lwjgllwjgl3

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

build.gradle改变所述第一到所述第二块:

api "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)
api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)

还要调整您的导入(例如在DesktopLauncher课堂上):

api "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)
api "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"
Run Code Online (Sandbox Code Playgroud)

lwjgl3 应该几乎完全兼容,就我而言,我只需要更新配置:

import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
Run Code Online (Sandbox Code Playgroud)
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
Run Code Online (Sandbox Code Playgroud)


che*_*ods 6

替换openjdk-11adopt-openjdk-11

我在 Ubuntu 20.04 和 openjdk-11 上使用 libgdx 时也出现了这个问题。

经过更长时间的斗争,我尝试了另一个 JDK 供应商而不是 openjdk。这解决了我的问题。由于某种原因adopt-opendjk-11有效,而openjdk-11没有工作。