一、RamiGO 安装
$ /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/bin/R CMD INSTALL /Bioinfo/Pipeline/SourceCode/pkgs/RamiGO_1.20.0.tar.gz* installing to library ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library’ERROR: dependencies ‘gsubfn’, ‘igraph’, ‘RCurl’, ‘png’, ‘RCytoscape’, ‘graph’ are not available for package ‘RamiGO’* removing ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/RamiGO’# 安装 gsubfn, igraph, RCurlinstall.packages(c("igraph", "igraph", "RCurl", "png"))# 安装 graphBiocManager::install("graph")$ /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/bin/R CMD INSTALL /Bioinfo/Pipeline/SourceCode/pkgs/RCytoscape_1.12.0.tar.gz* installing to library ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library’ERROR: dependency ‘XMLRPC’ is not available for package ‘RCytoscape’* removing ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/RCytoscape’install.packages("devtools")install_github("duncantl/XMLRPC")$ /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/bin/R CMD INSTALL /Bioinfo/Pipeline/SourceCode/pkgs/RamiGO_1.20.0.tar.gz* installing to library ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library’* installing *source* package ‘RamiGO’ ...** using staged installation** R** data** inst** byte-compile and prepare package for lazy loadingError in dyn.load(file, DLLpath = DLLpath, ...) :unable to load shared object '/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/png/libs/png.so':libpng16.so.16: cannot open shared object file: No such file or directoryCalls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.loadExecution haltedERROR: lazy loading failed for package ‘RamiGO’* removing ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/RamiGO’$ export LD_LIBRARY_PATH=/Bioinfo/Pipeline/SoftWare/LibDependence/libpng-1.6.37/bin/ include/ lib/ share/$ export LD_LIBRARY_PATH=/Bioinfo/Pipeline/SoftWare/LibDependence/libpng-1.6.37/lib:$LD_LIBRARY_PATH$ /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/bin/R CMD INSTALL /Bioinfo/Pipeline/SourceCode/pkgs/RamiGO_1.20.0.tar.gz* installing to library ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library’* installing *source* package ‘RamiGO’ ...** using staged installation** R** data** inst** byte-compile and prepare package for lazy loading** help*** installing help indices** building package indices** installing vignettes** testing if installed package can be loaded from temporary location** testing if installed package can be loaded from final location** testing if installed package keeps a record of temporary installation path* DONE (RamiGO)
二、RamiGO 使用与 libpng 依赖库异常
使用 RamiGO R 包过程中,如果发现:
> library('RamiGO')Loading required package: gsubfnLoading required package: proto> goIDs <- c("GO:0051130","GO:0019912","GO:0005783","GO:0043229","GO:0050789")> color <- c("lightblue","red","yellow","green","pink")> getAmigoTree(goIDs=goIDs, color=color, filename="example", picType="png",saveResult = TRUE)Error in readPNG(aa) :libpng error: Incompatible libpng version in application and libraryIn addition: Warning messages:1: In readPNG(aa) :libpng warning: Application was compiled with png.h from libpng-1.6.372: In readPNG(aa) :libpng warning: Application is running with png.c from libpng-1.2.49
首先,如果是源码编译安装的 R(参考:《手把手教你如何在 Linux 源码安装最新版本的 R》),可以尝试在 configure 的时候把 libpng 相关的的 LDFLAGS 和 CPPFLAGS 去掉,重新安装 R。
然后,通过拷贝缺失的共享库解决存在的问题。
> library(RamiGO)Loading required package: gsubfnLoading required package: protoError: package or namespace load failed for ‘RamiGO’ in dyn.load(file, DLLpath = DLLpath, ...):unable to load shared object '/Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/png/libs/png.so':libpng16.so.16: cannot open shared object file: No such file or directory> goIDs <- c("GO:0051130","GO:0019912","GO:0005783","GO:0043229","GO:0050789")> color <- c("lightblue","red","yellow","green","pink")> getAmigoTree(goIDs=goIDs, color=color, filename="example", picType="png",saveResult = TRUE)Error in getAmigoTree(goIDs = goIDs, color = color, filename = "example", :could not find function "getAmigoTree"
$ ldd /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/png/libs/png.solinux-vdso.so.1 => (0x00007fff48999000)libpng16.so.16 => not foundlibm.so.6 => /lib64/libm.so.6 (0x00007f100a740000)libz.so.1 => /RiboBio/Bioinfo/APPS/R-3.3.2/lib/libz.so.1 (0x00007f100a528000)libR.so => not foundlibc.so.6 => /lib64/libc.so.6 (0x00007f100a194000)/lib64/ld-linux-x86-64.so.2 (0x0000003636a00000)$ ln -s /Bioinfo/Pipeline/SoftWare/LibDependence/libpng-1.6.37/lib/libpng16.so.16.37.0 /usr/lib64/libpng16.so.16$ ln -s /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/lib/libR.so /usr/lib64/libR.so$ ldd /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/png/libs/png.solinux-vdso.so.1 => (0x00007fff079ff000)libpng16.so.16 (0x00007fd903bed000)libm.so.6 => /lib64/libm.so.6 (0x00007fd903969000)libz.so.1 => /Bioinfo/APPS/R-3.3.2/lib/libz.so.1 (0x00007fd903751000)libR.so => /usr/lib64/libR.so (0x00007fd9030aa000)libc.so.6 => /lib64/libc.so.6 (0x00007fd902d16000)libRblas.so => not foundlibgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007fd902a23000)libreadline.so.6 => /lib64/libreadline.so.6 (0x00007fd9027e0000)libpcre.so.1 => /Bioinfo/APPS/R-3.3.2/lib/libpcre.so.1 (0x00007fd9025ad000)liblzma.so.5 => /Bioinfo/APPS/R-3.3.2/lib/liblzma.so.5 (0x00007fd902388000)librt.so.1 => /lib64/librt.so.1 (0x00007fd902180000)libdl.so.2 => /lib64/libdl.so.2 (0x00007fd901f7b000)libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007fd901c96000)libgomp.so.1 => /Bioinfo/APPS/gcc-5.1.0/lib64/libgomp.so.1 (0x00007fd901a77000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd901859000)/lib64/ld-linux-x86-64.so.2 (0x0000003636a00000)libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fd901638000)$ ln -s /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/lib/libRblas.so /usr/lib64/libRblas.so$ ldd /Bioinfo/Pipeline/SoftWare/R/R-3.6.1/lib64/R/library/png/libs/png.solinux-vdso.so.1 => (0x00007fff2b7ff000)libpng16.so.16 (0x00007fed3cd93000)libm.so.6 => /lib64/libm.so.6 (0x00007fed3cb0f000)libz.so.1 => /Bioinfo/APPS/R-3.3.2/lib/libz.so.1 (0x00007fed3c8f7000)libR.so => /usr/lib64/libR.so (0x00007fed3c250000)libc.so.6 => /lib64/libc.so.6 (0x00007fed3bebc000)libRblas.so => /usr/lib64/libRblas.so (0x00007fed3bc90000)libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007fed3b99e000)libreadline.so.6 => /lib64/libreadline.so.6 (0x00007fed3b75b000)libpcre.so.1 => /Bioinfo/APPS/R-3.3.2/lib/libpcre.so.1 (0x00007fed3b528000)liblzma.so.5 => /Bioinfo/APPS/R-3.3.2/lib/liblzma.so.5 (0x00007fed3b303000)librt.so.1 => /lib64/librt.so.1 (0x00007fed3b0fb000)libdl.so.2 => /lib64/libdl.so.2 (0x00007fed3aef6000)libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007fed3ac11000)libgomp.so.1 => /Bioinfo/APPS/gcc-5.1.0/lib64/libgomp.so.1 (0x00007fed3a9f2000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fed3a7d4000)/lib64/ld-linux-x86-64.so.2 (0x0000003636a00000)libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fed3a5b3000)
最后,RamiGO 包可以正常使用:
