Centos7.9内使用Rstudio安装Seurat5的问题解决汇总

1. 系统配置

uname -a 
[out1]
Linux localhost 3.10.0

2. 问题汇总

通过浏览器进行Rstudio界面登陆,同时完成界面等设置修改后开始安装Seurat5的安装

if(!require(yulab.utils)) install.packages(yulab.utils)
library(yulab.utils)
install.packages(BiocManager)
pload(Seurat)

发现安装Seurat的依赖包时基本每个都有问题😅

2.1 C++17 standard requested but CXX17 is not defined

首先是第一个问题,安装RcppTOML包时的报错,查询发现是gcc版本低了,查看发现服务器的gcc版本是4.8.5的默认版本,对其进行更新。

sudo yum list all --enablerepo='centos-sclo-rh' | grep 'devtoolset-'
# 如果发生以下报错
Could not retrieve mirrorlist http://mirrorlist.centos.org?arch=x86_64&release=7&repo=
sclo-rh error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误
# 则需要进行yum repo的修改

具体修改细节可参考
【CentOS7.6】yum 报错:Could not retrieve mirrorlist http://mirrorlist.centos.org_could not resolve host: mirrorlist.centos.org; unk-CSDN博客

sudo yum install devtoolset-11-toolchain
# 临时修改gcc版本为11
scl enable devtoolset-11 bash
# 永久修改的一种方式
mv /usr/bin/gcc /usr/bin/gcc-4
mv /usr/bin/g++ /usr/bin/g++-4

ln -s /opt/rh/devtoolset-11/root/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-11/root/bin/g++ /usr/bin/g++

# 最后需要新建一个.R/Makevars文档并写入内容
mkdir .R
echo "CXX = g++ -std=c++17 -fPIC" >> .R/Makevars

# 再安装一次seurat
install.packages(Seurat)
# 发现RcppTOML包安装上了,但是还有其他问题导致一部分包安装不上

2.2 make[1]: *** [aclocal.m4] 错误 127

该问题出现在shiny包的依赖httpuv的安装过程中,具体原因不太清楚,我最后解决这个问题的方法如下

conda install autoconf automake libtool
autoreconf -ivf

在执行autoreconf -ivf时报错autoreconf: ‘configure.ac‘ or ‘configure.in‘ is required
一个解决办法是

autoscan
mv ./configure.scan configure.ac
autoreconf -ivf

这样autoreconf -ivf可以运行了,但是最后会报错
configure.ac:14: error: required file './config.rpath' not found
autoreconf: error: automake failed with exit status: 1】
可以通过以下方式尝试解决

touch config.rpath
autoreconf -ivf

再回去进行Seurat安装,httpuv和shiny等就能安装上了,只是在最后安装uwot的时候会报错

2.3 r_uwot.cpp:137:19: note: ‘std::make_unique’ is only available from C++14 onwards

这个问题查阅资料的解决办法是自己编写一个临时make_unique函数,但是试过之后好像不太顶用,不过这个解决倒是简单

vim .R/Makevars
# 在最后加上
CXX_STD=CXX14
CXX = g++ -std=gnu++14

最后开始安装seurat

install.packages(Seurat)

成功安装

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容