Ubuntu 20.04下R4.3的curl包安装失败求助:undefined symbol错误
解决R中curl包安装失败的问题
1. 清空LD_LIBRARY_PATH启动R(可行且优先尝试)
你的怀疑是对的——Intel OneAPI添加的路径可能导致R加载了不兼容的libcurl版本,引发符号未定义错误。清空该变量后启动R,会强制使用系统默认的libcurl库,这是可行的解决方案:
- 关闭所有当前R会话,在终端执行:
unset LD_LIBRARY_PATH && R - 在新打开的R会话中重新安装curl:
install.packages("curl")
2. 验证系统libcurl开发包完整性
即使你已安装libcurl,仍需确认是否安装了完整的开发依赖包(编译R包必需):
sudo apt update && sudo apt install libcurl4-openssl-dev
完成后重复步骤1的操作重新安装curl。
3. 临时指定系统libcurl路径(替代清空变量)
若不想完全清空LD_LIBRARY_PATH,可强制让R优先加载系统默认的libcurl库:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu && R
随后在R内执行安装命令即可。
4. 调整Intel OneAPI环境变量(保留OneAPI功能时用)
如果需要继续使用Intel OneAPI的其他功能,可修改其初始化脚本,调整LD_LIBRARY_PATH的路径顺序,让系统库路径排在OneAPI路径之前:
- 找到OneAPI的初始化脚本(通常位于
/opt/intel/oneapi/setvars.sh) - 编辑脚本中LD_LIBRARY_PATH的配置行,确保
/usr/lib/x86_64-linux-gnu被放在最前面
内容的提问来源于stack exchange,提问作者krishnab
相关产品推荐
相关产品推荐

