R语言 3.2.* 安装 openair 遇到的问题(Linux,不用yum)

来源:互联网 发布:淘宝双11晚会直播 编辑:程序博客网 时间:2024/06/09 10:02

记第一次安装 R语言,并安装R 依赖包环境;

安装第三方包 openair 需要 >= 3.2.0

1.安装 R 3.2.5

参考文章:http://blog.sina.com.cn/s/blog_5753ac150101vgua.html

安装配置 ./configure –prefix=… –enable-R-shlib –with-x=no

安装好了 R 环境后;进入 R

2.安装 openair

安装 openair 包 
$ Rinstall.packages('openair')
报错了:**下面是报错信息**
..../R_X11.so: undefined symbol: png_set_longjmp_fn

解决方式

1.改成手动下载 openair 本地包 : https://cran.r-project.org/src/contrib/Archive/openair/

 $ R CMD INSTALL openair_1.9-0.tar.gz

2.报错了:
报错提示:缺少依赖包 mapdata
下载 mapdata 本地包 : https://cran.r-project.org/src/contrib/Archive/mapdata/

$ R CMD INSTALL mapdata_2.2-4.tar.gz #maps 包需要 >= 2.2.4,否则报错

ok,本地的 mapdata 安装正确

3.继续安装 maps R包
下载 maps 本地包 https://cran.r-project.org/src/contrib/Archive/maps/

$ R CMD INSTALL maps_2.3-11.tar.gz

4.继续安装 openair 本地包

$ R CMD INSTALL openair_1.9-0.tar.gz

也ok啦,此时完成安装本地的 openair

3.使用 R 保存图片时候,又报错了

报错信息:
错误原因:linux 环境不支持X11保存图片,换成另外一个包 Cairo

解决方式
参考文章:http://blog.sina.com.cn/s/blog_14e18411e0102x2jp.html

不使用X11,使用 Cairo 来保存;
1.安装 linux 的Cairo 依赖环境

$ sudo yum install cairo* libxt*

2.使用 R 包安装 install.packages(‘Cairo’);
报错了,换成本地包安装

3.下载 Cairo 本地包 https://cran.r-project.org/src/contrib/Archive/Cairo/
使用的是 Cairo_1.5-5.tar.gz

$ R CMD INSTALL Cairo_1.5-5.tar.gz

所有依赖包都搞定了 没有报错 最后一步就是修改代码,把原来X11保存图片的 改成 Cairo

library('Cairo');CairoPNG(...)

使用python rpy2 调用 R 程序异常解决

1.引入 rpy2 环境报错

import rpy2.robjects as robjects''' error: unable to load shared object /xxxx/xxx/R-install/lib64/R/library/stats/libs/stats.solibRlapack.so: cannot open shared object file: No such file or directory'''

搜谷歌:libRlapack.so
https://stackoverflow.com/questions/21333097/got-message-unable-to-load-shared-object-stats-so-when-r-starts

R CMD ldd /xxxx/xxx/R-install/lib64/R/library/stats/libs/stats.so'''列出了:        linux-vdso.so.1 =>  (0x00007fffd8f99000)        #改信息去查看,是有该文件的        libRlapack.so => /xxxx/xxx/R-install/R-install/lib64/R/lib/libRlapack.so (0x00007ff0e62a5000)        libRblas.so => /xxxx/xxx/R-install/R-install/lib64/R/lib/libRblas.so (0x00007ff0e6079000)        libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007ff0e5d75000)        libm.so.6 => /lib64/libm.so.6 (0x00007ff0e5af1000)        libR.so => /xxxx/xxx/R-install/R-install/lib64/R/lib/libR.so (0x00007ff0e54a5000)        libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007ff0e5290000)        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff0e5073000)        libc.so.6 => /lib64/libc.so.6 (0x00007ff0e4cde000)        libreadline.so.6 => /lib64/libreadline.so.6 (0x00007ff0e4a9b000)        libz.so.1 => /lib64/libz.so.1 (0x00007ff0e4885000)        librt.so.1 => /lib64/librt.so.1 (0x00007ff0e467c000)        libdl.so.2 => /lib64/libdl.so.2 (0x00007ff0e4478000)        /lib64/ld-linux-x86-64.so.2 (0x00007ff0e690c000)        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007ff0e4257000)'''

参考改文章:http://blog.sciencenet.cn/blog-830496-891715.html

# 把上面 stats.so 里的 libRlapack.so 的地址 copy 到 R 的安装目录下的 lib64(或 lib) 文件夹下$ cp /xxxx/xxx/R-install/R-install/lib64/R/modules/ /xxxx/xxx/R-install/R-install/lib64/libRlapack.so
import rpy2.robjects as robjects # 成功,不报错了

总结:

依赖包:

mapdata_2.2-4.tar.gz
maps_2.3-11.tar.gz
openair_1.9-0.tar.gz
Cairo_1.5-5.tar.gz

参考文章:

编译R时的配置 :
http://blog.sina.com.cn/s/blog_5753ac150101vgua.html
http://debugo.com/linux-r-install/

解决找不到 libRlapack :
https://stackoverflow.com/questions/21333097/got-message-unable-to-load-shared-object-stats-so-when-r-starts

解决 X11 问题:
http://blog.sina.com.cn/s/blog_14e18411e0102x2jp.html

解决 Cairo 的linux 依赖包环境问题:https://stackoverflow.com/questions/38137546/x11-is-not-available-centos

原创粉丝点击