conda R4.0环境安装Bioconductor biomaRt时RSQLite编译报错求助
conda R4.0环境安装biomaRt的RSQLite编译报错处理
问题核心判定
- 编译失败的直接触发点为RSQLite内置的旧版boost库缺失
boost/detail/fenv.hpp头文件,属于旧版RSQLite源码包与R4.0编译配置的已知兼容问题 - 该报错仅在conda自定义R环境中通过BiocManager拉取源码包编译时出现,R3.6全局环境无此问题是因为版本匹配逻辑不同,不会触发内置boost的编译流程
落地处理步骤
方案1:使用conda预编译二进制包(零编译流程,稳定性最高)
- 退出R/RStudio会话,在系统终端激活目标conda环境:
conda activate r4-base - 从bioconda通道直接安装预编译版biomaRt及全部关联依赖(含RSQLite、AnnotationDbi、BiocFileCache):
conda install -c bioconda bioconductor-biomart - 安装完成后重启R会话,验证包可正常加载即可
方案2:R内手动指定兼容版本RSQLite
- 若必须通过BiocManager完成安装,先单独安装适配R4.0、无boost编译缺陷的RSQLite版本:
BiocManager::install("RSQLite", version = "2.2.5") - RSQLite安装无报错后,再执行biomaRt的常规安装流程:
BiocManager::install("biomaRt")
方案3:补全系统级boost依赖
- 若源码编译流程无法跳过,可在conda环境中安装匹配的boost开发头文件库,引导编译器调用系统boost替代RSQLite内置的旧版vendor boost:
conda activate r4-base conda install boost-cpp - 安装完成后重新执行R内的包安装操作
内容的提问来源于stack exchange,提问作者William Jarassier
相关产品推荐
相关产品推荐

