首先感谢这两篇博客的指导,第一篇是关于报错的总结,第二篇是第一篇中没有提到的错误,也就是我在安装的时候出现的错误。
1、下载R包
(去官网选择一个离你最近的镜像网址,我的是清华提供的镜像下载速度比较快)
wget http://mirrors.tuna.tsinghua.edu.cn/src/base/R-3/R-3.0.1.tar.gz
tar -zvxf R-3.0.1.tar.gz
2、然后进入安装包目录R-3.0.1,检查安装的依赖环境并配置安装文件
./configure --prefix=/home/wing1995/R --enable-R-shlib
注意prefix参数可以设置R将要安装的路径,enable-R-shlib可以保证lib目录下的动态库能够共享,这个选项一定不要忘记添加,否则以后安装某些包的时候会出现‘Error in dyn.load’的错误。
3、第一种编译出错
系统提示未找到G77编译器,需要安装一个gfortran,当然安装g77也能顺利 编译通过,不过新版本的Ubuntu不再提供g77的源,需要配置旧的aptitude的方式,而 且有些新的R包用g77编译会出问题,所以使用新的gfortran比较保险。此外还需安装 build-essential,提供C/C++的编译环境,否则也会报错。
sudo apt-get install build-essential
sudo apt-get install gfortran
4、第二种编译报错
出现错误:configure: error: –with-readline=yes (default) and headers/libs are not available,
需要安装libreadline6-dev:
sudo apt-get install libreadline6-dev
5、第三种编译报错
出现错误:configure: error: –with-x=yes (default) and X11 headers/libs are not available,需要
安装libxt-dev:
sudo apt-get install libxt-dev
4、第四种编译报错提示:dpkg:处理 nfs-common (--configure)时出错:子进程 已安装 post-installation 脚本 返回了错误号2
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名
sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
sudo apt-get update, apt-get -f install //不用解释了吧
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
sudo rm -rf /var/lib/dpkg/info //把自己新建的info文件夹删掉
sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info文件夹重新改回名字
所有依赖包安装好之后,配置就可以成功,此时进行编译就能成功:
make
make install