我一直在开发一个使用 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 有关。
一个简单的解决方案是使用 snap 卸载 vscode
sudo snap remove code
然后,使用 https://code.visualstudio.com/docs/setup/linux 所示的 apt 安装 vscode
sudo apt install ./<file>.deb
虽然我已经回答过了这里
如何配置 VSCode Snap 包库以供使用的问题。 他们正在设置以下环境变量
GTK_PATH
,它被 VSCode 终端继承。
在 VSCode 终端中取消设置环境变量似乎对我有用。
unset GTK_PATH
或者您可以使用 VSCode 配置清除环境变量,如其他答案中所述。