linux系统安装本地r包,linux环境下安装R包DESeq2的报错以及解决方法

前段时间电脑卡死,强制关机后电脑无法启动,后重装系统,然后又重新安装R和rstudio,在安装R包DESeq2的时候出现一系列报错。首先,执行安装命令后,出现报错:ERROR: compilation failed for package 'Hmisc' and 'RcppArmadillo'。字面意思就是这两个依赖包编译失败,那就一个一个解决。

先尝试安装Hmisc。

install.packages("Hmisc")

报错:dependency 'png' is not available for package 'latticeExtra'; ERROR: compilation failed for package 'jpeg'。这...依赖包的依赖包?没办法,那就再安装这两个依赖包。

install.packages("png")

出现报错:libpng16.so.16: cannot open shared object file: No such file or directory。很明显这是缺少了这个库文件。上网去查,发现有用yum安装的,有用conda安装的,都尝试了并没有用。

最后看到了一个别人解决类似库文件的方法(https://www.cnblogs.com/liang-wei/p/9513913.html)。首先直接查找libpng16.so.16文件,发现其中一个在/user/local/lib路径下面,然后做一个链接到/user/lib64下:

sudo ln -s /user/local/lib/libpng16.so.16 /user/lib64/libpng16.so.16

再尝试安装png包,无报错安装成功。然后安装jpeg包:

install.packages("jpeg")

依然报错:ERROR: compilation failed for package 'jpeg'。上网查了一下,说是缺少libjpeg的开发包内包含的头文件,安装libjpeg-devel即可(https://www.cnblogs.com/weiwg/p/6592516.html):

yum install libjpeg-devel

再尝试安装jpeg包,安装成功。两个依赖包安装成功后,安装Hmisc包,安装成功。最后,安装依赖包RcppArmadillo:

install.packages("RcppArmadillo")

报错:ERROR: compilation failed for package 'RcppArmadillo'。这个报错的原因是:在安装DESeq2包时,R会搜索最新的相关安装包进行安装,如果操作系统的版本较低与R包不兼容,就会出现编译等错误(https://blog.csdn.net/lichangzai/article/details/39960195)。

解决办法要么升级系统要么安装较低版本的R包,我选择了后者(操作系统过新也会产生一些问题,这台电脑操作系统版本原来为centos7.6,之后更新为centos7.8,之前强制关机后无法开机据说就是新版本操作系统的bug,好巧不巧让我给遇上了)。那么,就下载低版本R包:http://cran.r-project.org/src/contrib/Archive/RcppArmadillo。最新版本为0.9的,我选择了0.8当中最新版本的。

然后手动安装R包:

R CMD INSTALL -l /home/ngs/R/x86_64-redhat-linux-gun-library/3.6 RcppArmadillo_0.8.600.0.0.tar.gz

注意,这条命令要在安装包所在的路径下面运行,否则需要在安装包名称前面加上绝对路径。然后安装位置就是R的library路径下,有的系统可能有很多个R,要注意区分你现在运行的R在哪个路径下。安装成功后,直接在rstudio里面library该安装包,无报错说明安装成功。

所有依赖包全部安装成功后,最后安装DESeq2,无报错,运行正常,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值