如何在VS Code中修改Julia启动器解决SuiteSparse加载错误?
解决Ubuntu 22.04上Julia+SuiteSparse的加载错误及VS Code配置方法
问题背景
在Ubuntu Linux LTS 22.04系统上使用Julia v1.10.4和SuiteSparse v5.0.0时,每次启动Julia都会触发以下符号加载错误:
│ exception = │ could not load symbol "SuiteSparse_config_malloc_func_set": │ /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so.5: undefined symbol: SuiteSparse_config_malloc_func_set
已通过在.bashrc中设置别名解决终端启动问题:
alias julia='LD_LIBRARY_PATH="" julia'
但需要配置VS Code中的Julia启动方式,使其同样应用该环境变量设置。
更新信息
- Debian系统无此问题,其libcolmod版本为1.5.12,而Ubuntu LTS22.04中libcholmod版本为1.5.10
- Julia自动定位提示信息:
Juliaup found. The current configuration value for 'julia.executablePath' is 'LD_LIBRARY_PATH="" $HOME/.julia/juliaup/julia-1.10.4+0.x64.linux.gnu/bin/julia'. The identified Julia executable is "$HOME/.julia/juliaup/julia-1.10.4+0.x64.linux.gnu/bin/julia" with args "".
VS Code配置方法
方法一:直接修改可执行路径为Shell命令
- 打开VS Code,按下
Ctrl+,打开设置界面 - 在搜索框输入
julia.executablePath,定位到该设置项 - 将值修改为:
bash -c 'LD_LIBRARY_PATH="" $HOME/.julia/juliaup/julia-1.10.4+0.x64.linux.gnu/bin/julia'
(注意替换为你实际的Julia安装路径,可从上述自动定位提示中获取)
方法二:使用启动脚本
- 在用户目录下创建
julia-wrapper.sh脚本,内容如下:
#!/bin/bash LD_LIBRARY_PATH="" exec $HOME/.julia/juliaup/julia-1.10.4+0.x64.linux.gnu/bin/julia "$@"
- 赋予脚本执行权限:
chmod +x ~/julia-wrapper.sh
- 在VS Code的
julia.executablePath设置项中,填入脚本路径:~/julia-wrapper.sh
两种方法均能让VS Code启动Julia时清空LD_LIBRARY_PATH,避免加载系统自带的旧版本SuiteSparse库导致的符号错误。
内容的提问来源于stack exchange,提问作者prashanta_himalay
相关产品推荐
相关产品推荐

