Ubuntu下编译安装R全记录

el/2024/7/13 12:08:15


原文地址:http://jliblog.com/archives/368

  Ubuntu下安装R很方便,可以在软件管理中心搜索r-base直接安装,也可以将CRAN的相关目录添加到源,然后通过apt-get安装:

1
sudo apt-get install r-base

  不过如果想清楚地知道R安装过程中的细节并控制相关的设置,可以采用手工编译.tar.gz的方式安装。

  首先需要到CRAN上下载R的源码包(用wget命令下载:wget URL),我使用的是最新的版本R-3.1.0.orig.tar.gz。将其拷入某个目录,并解压缩:

1
tar -zvxf R-3.1.0.orig.tar.gz

  然后进入目录R-3.1.0,运行./configure检查安装的依赖环境并配置安装文件:

1
./configure --prefix=/home/me/R --enable-R-shlib

  注意prefix参数可以设置R将要安装的路径,enable-R-shlib可以保证lib目录下的动态库能够共享,这个选项一定不要忘记添加,否则以后安装某些包的时候会出现Error in dyn.load的错误。

  系统会提示未找到G77编译器的错误,需要安装一个gfortran,当然安装g77也能顺利编译通过,不过新版本的Ubuntu不再提供g77的源,需要配置旧的aptitude的方式,而且有些新的R包用g77编译会出问题,所以使用新的gfortran比较保险。此外还需安装build-essential,提供C/C++的编译环境,否则也会报错。

1
2
sudo apt-get install build-essential
sudo apt-get install gfortran

  如果出现错误:configure: error: –with-readline=yes (default) and headers/libs are not available,需要安装libreadline6-dev:

1
sudo apt-get install libreadline6-dev

  如果出现错误:configure: error: –with-x=yes (default) and X11 headers/libs are not available,需要安装libxt-dev:

1
sudo apt-get install libxt-dev

  所有依赖包安装好之后,配置就可以成功,此时进行编译就能成功:

1
2
make
make install

  安装结束后需要手动设置环境变量,可以打开.bashrc文件,添加R_HOME和R_LIBS变量,并修改PATH,这样R就完全安装好了。


http://www.ngui.cc/el/4999750.html

相关文章

complete mapping file between ids

http://rapdb.dna.affrc.go.jp/download/irgsp1.html

swustoj(0303取模)

给你三个数X(1<X<10^100)、Y(1<Y<10^8)、Z(1<Z<10^4),你能计算出X^Y%Z的值吗&#xff1f; Input 输出X^Y%Z的值。 Output 1 2 3 4 2 3 5 12345 2345 345 123456789123456789 19234321 2341 Sample Input 1 2 3 4 3 240 1825 Sample Output X^Y表示X的Y次方 /…

swusoj(将军鬼上身啦!(0324))

#include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std;int fina, n, st;//终点&#xff0c;步数&#xff0c;起点 int ans;int main() {while (cin >> fina >> n &g…

11 And 11!(0259)

11&#xff0e;11这天&#xff0c;lgw1860依然是1111&#xff0c;大三的他今天打算摆脱光棍生活(简称“脱光”)。于是他鼓足勇气&#xff0c;对已经暗恋已久的MM告白。但MM为了考查lgw1860的聪明指数&#xff08;MM都喜欢聪明的帅哥&#xff09;&#xff0c;想出了一个猜数字游…

swustoj似曾相识(0314)

你是否有这样的感觉&#xff1a;看到某一个场景时觉得好像以前经历过&#xff0c;没错&#xff0c;这就是似曾相识。 现在就在程序中找到这种感觉吧&#xff01; Description 第一行&#xff1a;一字符串&#xff0c;长度L(3< L <8) 第二行&#xff1a;要检查的字符串段数…

swustoj木材加工(0436)

木材厂有一些原木&#xff0c;现在想把这些原木切割成一些长度相同的小段木头&#xff08;并不是所有原木都一定要用完&#xff0c;可以有剩余&#xff09;&#xff0c;需要得到的小段的数目是给定的。当然&#xff0c;我们希望得到的小段越长越好&#xff0c;你的任务是计算能…

swustoj字符串查找(0448)

在一段句子中找出给定字符串出现在句子中第一个字母出现的位置。 句子中字符个数小于4500。 字符串字符个数小于120。 Description 两行 第一行是给定字符串 第二行是句子 Input 整数&#xff0c;字符串出现的位置 Output 1 2 abcde this is a Example of abcde! Sample Input …

swustoj大整数乘法(0447)

在一些应用中&#xff0c;特别是现在的密码学中&#xff0c;常常需要用超过100位的整数来做乘法&#xff0c;以此来对数据加密。 现在有两个小于等于100位的大整数a和b&#xff08;位数相同&#xff09;&#xff0c;请写程序计算出这两个大整数乘积的结果。 Description 输入有…

swustoj大整数加法(0434)

写程序求两个大整数&#xff08;100位以上&#xff09;的和。 Description 两个大整数的位数&#xff0c;小于3000 两个大整数 Input 两个大整数的和 Output 1 2 3 20 20 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Sample Input 1 888…

swustoj采药(0150)

辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。为此&#xff0c;他想拜附近最有威望的医师为师。医师为了判断他的资质&#xff0c;给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说&#xff1a;“孩子&#xff0c;这个山洞里有一些不同…