提问人:Leonardo Monteiro 提问时间:4/3/2023 最后编辑:Leonardo Monteiro 更新时间:4/11/2023 访问量:5293
Java:符号查找错误:/snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0:未定义的符号:__libc_pthread_init,版本 GLIBC_PRIVATE
Java: symbol lookup error: /snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE
问:
我一直在研究一个使用 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 包,但这些都没有奏效。
答:
在最近的 ubuntu 更新后,我也遇到了这个错误。我认为这与 snap 和 vscode 有关。
一个简单的解决方案是使用
sudo snap remove code
然后,使用 apt 安装 vscode,如 https://code.visualstudio.com/docs/setup/linux 所示
sudo apt install ./<file>.deb
虽然我已经在这里回答了
如何配置 VSCode Snap 包库以供使用的问题。
他们正在设置以下环境变量,该变量由 VSCode 终端继承。GTK_PATH
在 VSCode 终端中取消设置环境变量似乎对我有用。
unset GTK_PATH
作为更永久的解决方法,您还可以在 VS Code 用户设置中取消设置,运行“首选项:打开用户设置 (JSON)”并将其添加到:GTK_PATH
settings.json
"terminal.integrated.env.linux": {
"GTK_PATH": ""
}
评论
setting.json
GTK_PATH
评论