在编译R之前,需要通过yum安装以下几个程序:
#yum install gcc-gfortran #否则报”configure: error: No F77 compiler found”错误
#yum install gcc gcc-c++ #否则报”configure: error: C++ preprocessor “/lib/cpp” fails sanity check”错误
#yum install readline-devel #否则报”–with-readline=yes (default) and headers/libs are not available”错误
#yum install libXt-devel #否则报”configure: error: –with-x=yes (default) and X11 headers/libs are not available”错误
然后下载源代码,编译
[root@192 ~]# wget http://ftp.ctex.org/mirrors/CRAN/src/base/R-3/R-3.1.1.tar.gz
--2014-08-29 23:45:18-- http://ftp.ctex.org/mirrors/CRAN/src/base/R-3/R-3.1.1.tar.gz
Resolving ftp.ctex.org... 159.226.47.4
Connecting to ftp.ctex.org|159.226.47.4|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28606569 (27M) [application/x-gzip]
Saving to: “R-3.1.1.tar.gz”
100%[+++++++++++++++++++++++++++++++++++++=>] 28,606,569 9.86K/s in 1m 49s
2014-08-30 03:03:40 (6.78 KB/s) - “R-3.1.1.tar.gz” saved [28606569/28606569]
[root@192 ~]#tar zxvf R-3.1.1.tar.gz
R-3.1.1/doc/manual/images/QQ.png
R-3.1.1/doc/html/about.html
R-3.1.1/doc/html/favicon.ico
R-3.1.1/doc/html/index-default.html
R-3.1.1/doc/html/left.jpg
R-3.1.1/doc/html/logo.jpg
R-3.1.1/doc/html/logosm.jpg
R-3.1.1/doc/html/Makefile.in
R-3.1.1/doc/html/NEWS.2.html
R-3.1.1/doc/html/NEWS.html
R-3.1.1/doc/html/packages-head-utf8.html
R-3.1.1/doc/html/R-admin.html
R-3.1.1/doc/html/R.css
R-3.1.1/doc/html/resources.html
R-3.1.1/doc/html/right.jpg
R-3.1.1/doc/html/Search.html
R-3.1.1/doc/html/SearchOn.html
R-3.1.1/doc/html/up.jpg
[root@192 ~]# cd R-3.1.1
[root@192 ~]# ./configure
R is now configured for x86_64-unknown-linux-gnu
Source directory: .
Installation directory: /usr/local
C compiler: gcc -std=gnu99 -g -O2
Fortran 77 compiler: gfortran -g -O2
C++ compiler: g++ -g -O2
C++ 11 compiler: g++ -std=c++0x -g -O2
Fortran 90/95 compiler: gfortran -g -O2
Obj-C compiler:
Interfaces supported: X11
External libraries: readline
Additional capabilities: NLS
Options enabled: shared BLAS, R profiling
Recommended packages: yes
configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: you cannot build PDF versions of vignettes and help pages
[root@192 R-3.1.1]# make
make[1]: Entering directory `/root/R-3.1.1/m4'
make[1]: Nothing to be done for `R'.
make[1]: Leaving directory `/root/R-3.1.1/m4'
make[1]: Entering directory `/root/R-3.1.1/tools'
make[1]: Nothing to be done for `R'.
make[1]: Leaving directory `/root/R-3.1.1/tools'
make[1]: Entering directory `/root/R-3.1.1/doc'
trying to compile and link a JNI progam
detected JNI cpp flags :
detected JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
make[2]: Entering directory `/tmp/Rjavareconf.9RgDis'
gcc -std=gnu99 -I/root/R-3.1.1/include -DNDEBUG -I/usr/local/include -fpic -g -O2 -c conftest.c -o conftest.o
conftest.c:1:17: error: jni.h: No such file or directory
conftest.c: In function ‘main’:
conftest.c:4: warning: implicit declaration of function ‘JNI_CreateJavaVM’
make[2]: *** [conftest.o] Error 1
make[2]: Leaving directory `/tmp/Rjavareconf.9RgDis'
Unable to compile a JNI program
JAVA_HOME : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
Java library path:
JNI cpp flags :
JNI linker flags :
Updating Java configuration in /root/R-3.1.1
Done.
make[1]: Leaving directory `/root/R-3.1.1'
[root@192 R-3.1.1]# make install
installing packages ...
building HTML index ...
make[2]: Leaving directory `/root/R-3.1.1/src/library'
make[1]: Leaving directory `/root/R-3.1.1/src'
make[1]: Entering directory `/root/R-3.1.1/tests'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/root/R-3.1.1/tests'
到此,安装完毕!
测试:
[root@192 R-3.1.1]# R
R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
尝试安装shiny包
> install.packages("shiny")
Selection: 20
also installing the dependencies ‘Rcpp’, ‘bitops’, ‘httpuv’, ‘caTools’, ‘RJSONIO’, ‘xtable’, ‘digest’, ‘htmltools’
trying URL 'http://mirror.bjtu.edu.cn/cran/src/contrib/Rcpp_0.11.2.tar.gz'
Content type 'application/octet-stream' length 2004313 bytes (1.9 Mb)
opened URL
==================================================
downloaded 8734 bytes
trying URL 'http://mirror.bjtu.edu.cn/cran/src/contrib/httpuv_1.3.0.tar.gz'
Content type 'application/octet-stream' length 423739 bytes (413 Kb)
opened URL
> library(shiny)
> runExample("01_hello")
Listening on http://127.0.0.1:7964
测试完毕!