You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装R包stringr失败求助:缺失CXXABI_1.3.8版本依赖

stringr/stringi 包加载失败问题解决

问题原因

系统默认的libstdc++.so.6版本过低,缺少stringi运行所需的CXXABI_1.3.8版本标识。stringi依赖较新的C标准库实现,而当前环境的libstdc版本不满足编译/运行要求,导致无法加载共享对象文件。

解决方法

1. 集群环境:加载高版本gcc模块

如果是在集群系统中,优先通过模块管理工具切换到高版本gcc:

  • 查看可用gcc模块:
    module avail gcc
    
  • 加载gcc 7.x及以上版本(gcc 5+开始支持CXXABI_1.3.8):
    module load gcc/7.3.0
    
  • 重新编译安装stringi和stringr,添加参数避免系统旧库干扰:
    install.packages("stringi", configure.args = "--disable-pkg-config")
    install.packages("stringr")
    

2. 有权限环境:手动更新libstdc++.so.6

若拥有系统或用户目录权限,可手动替换/添加高版本标准库:

  • 检查当前libstdc++支持的版本:
    strings /lib64/libstdc++.so.6 | grep CXXABI
    
  • 找到高版本gcc安装目录下的libstdc++.so.6(例如/usr/local/gcc-7.3.0/lib64/),将其复制到用户自定义库目录(如~/lib/)
  • 设置环境变量让R优先加载该库:
    export LD_LIBRARY_PATH=~/lib:$LD_LIBRARY_PATH
    
  • 启动R重新安装并加载包。

3. 源码编译时指定标准库路径

如果上述方法无效,编译stringi时直接指定高版本libstdc++的路径:

install.packages("stringi", configure.args = c("--disable-pkg-config", "LDFLAGS=-L/usr/local/gcc-7.3.0/lib64"))

注意替换路径为你实际的高版本gcc lib64目录。

内容的提问来源于stack exchange,提问作者Jinggggggg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:17:09