conda环境下R包ragg安装报configuration failed错误如何解决
问题根因
该报错是conda环境内置工具链与系统依赖头文件版本不匹配导致:conda的R环境使用自带的gcc编译器及对应glibc头文件,但默认调用的pkg-config优先读取了/usr/include下的系统级依赖头文件,两者的宏定义不兼容触发编译错误。退出conda环境后使用系统原生gcc与系统头文件匹配,因此可以正常安装。
解决方案
方案1:直接通过conda安装预编译包(优先推荐)
无需编译,直接安装conda-forge源中已适配conda R环境的ragg包:
- 激活你的R 4.1 conda环境:
conda activate r-4.1 - 执行conda安装命令:
conda install -c conda-forge r-ragg
方案2:conda环境内安装依赖后从CRAN源码安装
如果需要从CRAN安装最新版ragg,可先在conda环境内安装对应依赖库,替换系统级依赖:
- 激活R 4.1 conda环境后执行:
conda install -c conda-forge libpng libtiff libjpeg-turbo freetype pkg-config - 启动R,执行正常安装命令即可:
install.packages("ragg")
方案3:手动指定pkg-config路径
如果不想额外安装conda依赖,可临时指定pkg-config优先读取conda环境的配置,避免调用系统依赖:
- 激活R 4.1 conda环境后执行
echo $CONDA_PREFIX获取环境路径,示例输出为/home/roy/miniconda3/envs/r-4.1 - 启动R,先执行环境变量配置命令:
Sys.setenv(PKG_CONFIG_PATH = "/home/roy/miniconda3/envs/r-4.1/lib/pkgconfig") - 再执行ragg安装命令:
install.packages("ragg")
内容的提问来源于stack exchange,提问作者mindlessgreen
相关产品推荐
相关产品推荐

