centos6.5安装R语言出现问题怎么解决

这篇文章主要讲解了“centos6.5安装R语言出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos6.5安装R语言出现问题怎么解决”吧!

这篇文章主要讲解了“centos6.5安装R语言出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos6.5安装R语言出现问题怎么解决”吧!

创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为临夏企业提供专业的网站建设、成都网站制作,临夏网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

环境:虚拟机centos6.5 内核为2.6.32-696.1.1.el6.x86_64(这是更新后的内核版本,没更新之前比这个版本低)、R-3.3.2

在网上大多攻略都是先下载R压缩包,然后解压,配置安装,步骤如下:

(1)下载安装包

wget https://cran.r-project.org/src/base/R-3/R-3.2.2.tar.gz

(2)解决依赖包

#yum install gcc-gfortran

#yum install gcc gcc-c++

#yum install readline-devel

#yum install libXt-devel

(3)解压安装

# tar xvf R-3.3.2.tar.gz

# cd R-3.3.2

# ./configure

# make

# make install

在进行make时,报错make: *** No targets specified and no makefile found. Stop.

这就尴尬了,知道问题来了,找度娘,找到一篇博文,说两个原因,一个是内核太旧,一个是依赖包没装全,就先更新个内核

yum update

更新到一半断掉了,那么问题又来了,重新启动时报错vfs:unable to mount root fs on unknown-block(0,0)

又找度娘,发现是升级时没更新完全,grub引导文件有问题,就到/boot/grub/menu.lst查看,发现最新版本启动命令中缺少initrd,可是天生愚钝,搞不清这个东西是怎么生成的,搞了好久也没搞好,无奈,只能卸掉内核重新更新;

yum remove kernel 2.6.32-696.1.1.el6.x86_64

卸载完后,重新yum update,完美升级!删除掉旧内核,升级算是解决了。

然后再解压安装,还是报错,那就是依赖包没装完全,在执行./configure过程中其实就是在检查依赖包,第一次安装时没太注意,后来发现这样一段

checking for zlib.h... yes

checking if zlib version >= 1.2.5... no

checking whether zlib support suffices... configure: error: zlib library and hea     ders are required

再查看内核的zlib

rpm -qa | gerp zlib

发现内核自带zlib是1.2.3版本的,可见版本太低造成的,问题确定了,接着度娘,找到一篇博客https://www.hitoy.org/use-the-compiled-zlib-library-to-replace-the-system-integration-one.html

说是要先升级zlib,我想这先卸载,再升级,可是系统不让卸载,后来才发现zlib是内核中很重要的部分,依赖非常多,所以不能卸载;那就直接升级吧,yum install zlib,却告诉我系统已经安装,无奈自己在网上下载个,按照上面博客的说法做下去,最后安装时依旧是找不到zlib!

这个问题纠结了我两天,没办法换zlib版本,在网上重新下载了个zlib-1.2.5版的

./configure

make

make install

上述问题看样子是现有内核版本不支持最新版zlib,所以还是用个低版本的!!

再安装R又报错bzip2版本太低,要求要大于等于bzip2-1.0.6,内核自带版本是bzip2-1.0.5,网上下载,安装,接着报错

/usr/bin/ld: blocksort.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC

blocksort.o: could not read symbols: Bad value

collect2: ld returned 1 exit status

make: *** [all] Error 1

无奈,接着找度娘,需要修改Makefile-libbz2_so中的CC=gcc 为CC=gcc -fPIC,并且解压文件中没有configure,需要先执行 make -f Makefile-libbz2_so,然后在make install;

再次安装R,问题依旧,这就尴尬了,各种百度,都没有解决,问题只能是定位到系统内核本身了,就像第一次安装zlib-1.2.11版本系统不识别一样,看来是系统不兼容bzip2-1.0.6版本,所以这种自己动手安装的办法不可行了,抛弃!

最后百度了一个只需要三个步骤的方法,大体是说,先更新系统内核,利用第三方yum源epel,其中包含了最新的各种软件包,之后就像安装软件一样利用yum安装R,是成功的,步骤如下:

su -c "rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm"

yum update

yum install R

附图如下:

下载yum源

更新yum源

安装R过程


新闻标题:centos6.5安装R语言出现问题怎么解决
分享路径:http://azwzsj.com/article/sogddh.html