Chapter 1 Obtaining R
Sources, binaries and documentation for R can be obtained via CRAN, the “Comprehensive R Archive Network” whose current members are listed at https://CRAN.R-project.org/mirrors.html.
1.1 Getting and unpacking the sources
The simplest way is to download the most recent R-x.y.z.tar.gz file, and unpack it with
tar -xf R-x.y.z.tar.gz
on systems that have a suitable1 tar
installed. On other systems you need to have the gzip
program installed, when you can use
gzip -dc R-x.y.z.tar.gz | tar -xf -
The pathname of the directory into which the sources are unpacked should not contain spaces, as most make
programs (and specifically GNU make
) do not expect spaces.
If you want the build to be usable by a group of users, set umask
before unpacking so that the files will be readable by the target group (e.g., umask 022
to be usable by all users). Keep this setting of umask
whilst building and installing.
If you use a recent GNU version of tar
and do this as a root account (which on Windows includes accounts with administrator privileges) you may see many warnings about changing ownership. In which case you can use
tar --no-same-owner -xf R-x.y.z.tar.gz
and perhaps also include the option –no-same-permissions. (These options can also be set in the TAR_OPTIONS
environment variable: if more than one option is included they should be separated by spaces.)
1.2 Getting patched and development versions
A patched version of the current release, ‘r-patched’, and the current development version, ‘r-devel’, are available as daily tarballs and via access to the R Subversion repository. (For the two weeks prior to the release of a minor (3.x.0) version, ‘r-patched’ tarballs may refer to beta/release candidates of the upcoming release, the patched version of the current release being available via Subversion.)
The tarballs are available from https://stat.ethz.ch/R/daily. Download R-patched.tar.gz or R-devel.tar.gz (or the .tar.bz2 versions) and unpack as described in the previous section. They are built in exactly the same way as distributions of R releases.
1.2.1 Using Subversion and rsync
Sources are also available via https://svn.R-project.org/R/, the R Subversion repository. If you have a Subversion client (see https://subversion.apache.org/), you can check out and update the current ‘r-devel’ from https://svn.r-project.org/R/trunk/ and the current ‘r-patched’ from ‘https://svn.r-project.org/R/branches/R-x-y-branch/’ (where x and y are the major and minor number of the current released version of R). E.g., use
svn checkout https://svn.r-project.org/R/trunk/ path
to check out ‘r-devel’ into directory path (which will be created if necessary). The alpha, beta and RC versions of an upcoming x.y.0 release are available from ‘https://svn.r-project.org/R/branches/R-x-y-branch/’ in the four-week period prior to the release.
Note that ‘https:’ is required2, and that the SSL certificate for the Subversion server of the R project should be recognized as from a trusted source.
Note that retrieving the sources by e.g. wget -r
or svn export
from that URL will not work (and will give a error early in the make
process): the Subversion information is needed to build R.
The Subversion repository does not contain the current sources for the recommended packages, which can be obtained by rsync
or downloaded from CRAN. To use rsync
to install the appropriate sources for the recommended packages, run ./tools/rsync-recommended
from the top-level directory of the R sources.
If downloading manually from CRAN, do ensure that you have the correct versions of the recommended packages: if the number in the file VERSION is ‘x.y.z’ you need to download the contents of ‘https://CRAN.R-project.org/src/contrib/dir’, where dir is ‘x.y.z/Recommended’ for r-devel or x.y-patched/Recommended for r-patched, respectively, to directory src/library/Recommended in the sources you have unpacked. After downloading manually you need to execute tools/link-recommended
from the top level of the sources to make the requisite links in src/library/Recommended. A suitable incantation from the top level of the R sources using wget
might be (for the correct value of dir)
wget -r -l1 --no-parent -A\*.gz -nd -P src/library/Recommended \
https://CRAN.R-project.org/src/contrib/dir
./tools/link-recommended