美文网首页生信软件安装生信软件
conda安装的R语言初次使用会报错

conda安装的R语言初次使用会报错

作者: 因地制宜的生信达人 | 来源:发表于2018-07-01 20:19 被阅读134次

    我个人是很反对使用conda来安装R语言,但是很多时候conda安装的软件会依赖R,而conda比较实诚,一定要自己安装自己的R,而不是使用系统环境的。

    所以就很尴尬。

    通常conda本身就在我们的环境变量里面,而且优先级很高。那么conda一旦选择安装了自己的R,就会替代我们的R。

    就会冲突,报错如下:

    /home/jianmingzeng/miniconda2/lib/R/bin/exec/R: error while loading shared libraries: libicuuc.so.56: cannot open shared object file: No such file or directory
    
    

    简单搜索,发现的确没有这个库文件:

    find ~/miniconda2/ -name *libicuuc.so*
    /home/jianmingzeng/miniconda2/pkgs/icu-58.2-h9c2bf20_1/lib/libicuuc.so.58.2
    /home/jianmingzeng/miniconda2/pkgs/icu-58.2-h9c2bf20_1/lib/libicuuc.so.58
    /home/jianmingzeng/miniconda2/pkgs/icu-58.2-h9c2bf20_1/lib/libicuuc.so
    /home/jianmingzeng/miniconda2/lib/libicuuc.so
    /home/jianmingzeng/miniconda2/lib/libicuuc.so.58
    /home/jianmingzeng/miniconda2/lib/libicuuc.so.58.2
    

    实际上我在我的另外一个服务器上面同样的查找,也是没有这个文件,但是却并不报错。

    /usr/local/bin/miniconda3/pkgs/icu-58.2-0/lib/libicuuc.so
    /usr/local/bin/miniconda3/pkgs/icu-58.2-0/lib/libicuuc.so.58.2
    /usr/local/bin/miniconda3/pkgs/icu-58.2-0/lib/libicuuc.so.58
    /usr/local/bin/miniconda3/pkgs/icu-54.1-0/lib/libicuuc.so.54
    /usr/local/bin/miniconda3/pkgs/icu-54.1-0/lib/libicuuc.so
    /usr/local/bin/miniconda3/pkgs/icu-54.1-0/lib/libicuuc.so.54.1
    /usr/local/bin/miniconda3/pkgs/icu-58.2-h9c2bf20_1/lib/libicuuc.so
    /usr/local/bin/miniconda3/pkgs/icu-58.2-h9c2bf20_1/lib/libicuuc.so.58.2
    /usr/local/bin/miniconda3/pkgs/icu-58.2-h9c2bf20_1/lib/libicuuc.so.58
    /usr/local/bin/miniconda3/envs/py2.7/lib/libicuuc.so.54
    /usr/local/bin/miniconda3/envs/py2.7/lib/libicuuc.so
    /usr/local/bin/miniconda3/envs/py2.7/lib/libicuuc.so.54.1
    /usr/local/bin/miniconda3/lib/libicuuc.so
    /usr/local/bin/miniconda3/lib/libicuuc.so.58.2
    /usr/local/bin/miniconda3/lib/libicuuc.so.58
    

    可以看到这个库文件是conda安装了icu后获得的,那么我应该是要安装特定版本的icu才行。

    conda install -c conda-forge icu=56.1
    

    ICU(International Component for Unicode/Unicode国际化组件) 是 Unicode 支持、软件国际化、全球化的一个成熟的、广泛应用的库,是一个由 IBM 赞助、支持和使用的,基于"IBM公共许可证",用于支持软件国际化的开源项目。这个库为 C 和 Java 编程语言提供了一整套操作 Unicode 数据的函数。这个库是在一种无限制的开放源码许可证下发布的,这使它可以在许多应用程序中使用。

    问题是解决了,可是我首先不明白问题是如何产生的,其次也不明白,问题被解决的原理是什么。纯粹是凭感觉,凭经验。

    之所以两个系统表现不一样,可能是linux版本不一致。

    https://github.com/conda/conda/issues/3600

    相关文章

      网友评论

        本文标题:conda安装的R语言初次使用会报错

        本文链接:https://www.haomeiwen.com/subject/fgshuftx.html