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

记第一次安装 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 包 
$ R
install.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.so
libRlapack.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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值