Java:符号查找错误:/snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0:未定义符号:__libc_pthread_init,版本 GLIBC_PRIVATE

问题描述 投票:0回答:2

我一直在开发一个使用 gui.jar 文件导入一些类的 Java 项目。直到昨天,一切都运行良好。现在,我可以通过命令编译 .class 文件了

javac -d ./bin -sourcepath ./src -classpath ./bin/gui.jar src/simulation/TestSimulateur.javac

但是当我尝试用

执行程序时

java -classpath bin:bin/gui.jar simulation.TestSimulateur

我得到错误

java: symbol lookup error: /snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE make: *** [Makefile:47: carte1] Error 127

我不太了解 snap 和库是如何工作的,所以我不确定问题的根源。奇怪的是,这个问题只有在 VSCode 上运行时才会出现,而在普通的 Linux 终端上运行它就可以正常工作。

我搜索了很多但找不到解决问题的方法。正如我所说,我是 Linux 系统的新手。在尝试之间,我尝试重新安装 VSCode、更新系统和更新 snap 包,但都没有用。

java linux undefined-symbol
2个回答
0
投票

我在最近的 ubuntu 更新后也遇到了这个错误。我认为这与 snap 和 vscode 有关。

一个简单的解决方案是使用 snap 卸载 vscode

sudo snap remove code

然后,使用 https://code.visualstudio.com/docs/setup/linux 所示的 apt 安装 vscode

sudo apt install ./<file>.deb


0
投票

虽然我已经回答过了这里

如何配置 VSCode Snap 包库以供使用的问题。 他们正在设置以下环境变量

GTK_PATH
,它被 VSCode 终端继承。

在 VSCode 终端中取消设置环境变量似乎对我有用。

unset GTK_PATH

或者您可以使用 VSCode 配置清除环境变量,如其他答案中所述。

© www.soinside.com 2019 - 2024. All rights reserved.