我一直在开发一个Java项目,该项目使用gui.jar文件导入一些类。一切都很好,直到昨天。现在,我可以通过命令
编译.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包,但这些都不起作用。虽然我已经在这里回答过了
关于如何配置VSCode Snap包库以使用的问题。他们正在设置以下环境变量GTK_PATH
,该变量由VSCode终端继承。
在VSCode终端中取消环境变量似乎对我有用。
unset GTK_PATH
作为一个稍微永久的解决方案,你也可以在VS Code用户设置中取消设置GTK_PATH
,运行"Preferences: Open user settings (JSON)"并将其添加到settings.json
:
"terminal.integrated.env.linux": {
"GTK_PATH": ""
}
我在最近的ubuntu更新后也遇到了这个错误。我认为这与snap和vscode有关。
一个简单的解决方案是用 卸载vscodesudo snap remove code
然后,使用https://code.visualstudio.com/docs/setup/linux
所示的apt安装vscodesudo apt install ./<file>.deb