这篇文章主要讲解了“centos6.5安装R语言出现问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos6.5安装R语言出现问题怎么解决”吧!
环境:虚拟机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语言出现问题怎么解决”的内容了,经过本文的学习后,相信大家对centos6.5安装R语言出现问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!