问题描述
velocyto.R在win10下的安装会遇到以下错误:
C:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o velocyto.R.dll tmp.def RcppExports.o points_within.o routines.o -lboost_filesystem -lboost_system -lstdc++ -LC:/PROGRA~1/R/R-36~1.3/bin/x64 -lRlapack -LC:/PROGRA~1/R/R-36~1.3/bin/x64 -lRblas -fopenmp -lgfortran -lm -lquadmath -LC:/PROGRA~1/R/R-36~1.3/bin/x64 -lR
C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboost_filesystem
C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboost_system
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package ‘velocyto.R’
removing ‘C:/Users/Windows User/Documents/R/win-library/packages/velocyto.R’
Error: Failed to install ‘velocyto.R’ from GitHub:
(converted from warning) installation of package ‘C:/Users/WINDOW~1/AppData/Local/Temp/Rtmpq259Wk/file33e07f9224a3/velocyto.R_0.6.tar.gz’ had non-zero exit status
目前这个错误在github上仍然是open的,无人解决。
https://github.com/velocyto-team/velocyto.R/issues/86
从报错信息上看,这个错误似乎是gcc编译的时候找不到lboost_system和lboost_filesystem这两个library导致的。
作者给出的解决方案是用docker安装。
If you are having trouble installing the package on your system, you can build a docker instance that can be used on a wide range of systems and cloud environments. To install docker framework on your system see installation instruction. After installing the docker system, use the following commands to build a velocyto.R docker instance:
|
|
下面我给出自己的解决方案
首先我们需要安装docker。
开启hyper-V
右键开始
菜单,选择应用和功能
点击程序和功能
点击启用或关闭Windows功能
选中Hyper-V
重启系统。
【注意】如果启用hyper-V,你的虚拟机和安卓模拟器将无法正常运行,这时候关闭hyper-V,重启即可。
下载并安装docker
直接点击这个链接下载
或者在这个页面选择下载stable版本:https://hub.docker.com/editions/community/docker-ce-desktop-windows
下载好后安装即可。
用win+r cmd打开命令行
|
|
|
|
则说明安装成功。
利用docker安装velocyto.R
在当前目录新建一个Dockerfile
,将以下内容复制到Dockerfile
中。
|
|
我们创建一个叫velocyto的镜像
|
|
|
|
|
|
然后我们重启velocyto并将本地FigureYa177RNAvelocity
挂载到/home/user/FigureYa177RNAvelocity
文件夹下
|
|
利用velocyto.R进行RNA动力学分析
在s6_trajectory.Rmd
的最后增加这样一段代码
|
|
执行s7_RNAVelocity.R
|
|
以下是s7_RNAVelocity.R
的代码
|
|