Tools
Mandatory tools
In order to compile R for macOS, you will need the following tools:
- Xcode developer tools from Apple
Xcode can be obtained from Apple AppStore and the Xcode developer page. Older versions are available in the "more" section of the Developer pages (Apple developer account necessary). On modern macOS versions you can simply use
sudo xcode-select --install
which installs Xcode command line tools which are sufficient to build R (however, if you want to also build the R.app GUI you do need the full Xcode installation).
- GNU Fortran compiler
R and some contributed package require a FORTRAN compiler.
Unfortunately Xcode doesn't contain a Fortran compiler, therefore you will have to install one. R 4.3.0 and higher uses universal GNU Fortran 12.2 compiler. You can download an installer package gfortran-12.2-universal.pkg (242MB) - for more details and other download options see
R-macos GNU Fortran releases on GitHub.
NOTE: In order to retain compatibility with native R we recommend using above tools. Although it is possible to compile R using tools from other package managers such as Homebrew, MacPorts or Fink, such binaries are by definition incompatible with macOS native libraries and applications. If you choose one of those package managers, make sure you compile
everything using those tools including R and all packages and libraries you intend to use.
Additional information on the OpenMP page is available for those interested in OpenMP support which is not supported by Apple, but still possible with additional libraries.
Mandatory libraries
Old versions of R provided fall-back versions of dependend libraries. This is no longer the case, the following libraries are not present in most recent macOS (or are too old) and have to be installed before R can be compiled:
Binaries for the above libraries are available from the "Binaries of libraries and tools for macOS page" (also the
/bin directory) for the builds we use.
Those are binaries used by CRAN and are built using the recipes system, thus can be transparently re-built accordingly. If you wish to compile all dependencies yourself (only recommended for expert users) use the following commands:
git clone https://github.com/R-macos/recipes.git
cd recipes
./build.sh r-base-dev
This will build and install all dependencies necessary to compile R including optional capabilities such as cairo, tiff, jpeg, png and texinfo. On Intel Macs the default prefix is /usr/local (another recommended alternative is /opt/R/x86_64) and on arm64 Macs it is /opt/R/arm64. It may be convenient to setup the target to be managed by the current user, e.g.:
sudo mkdir -p /opt/R/arm64
sudo chown $USER /opt/R/arm64
after which sudo is no longer required. For more details, please see the documentation of the recipes build system.
Optional tools and libraries
The following tools and libraries are optional. R can be compiled without them, but they provide additional capabilities to R.
- LaTeX
In order to produce documentation, LaTeX is necessary. It can be obtained from several places, for example as a part of MacTeX.
- GNU readline
Although macOS comes with readline-replacement library (libedit), it lacks some functionality like backward search etc. Therefore many user prefer GNU readline.
- subversion
If you want to check out R from the SVN repository, you will need subversion. It was included in Xcode 9 and earlier, but is no longer. We are providing a signed binary:
subversion-1.14.0-darwin15.6.tar.gz (SHA1: 9dab09d6cf608bea6224bdc3ec3e95893e4e9800)
which works on OS X 10.11 (El Capitan) and higher, is relocatable, i.e., you can put it anywhere you want since it only depends on system libraries.
Similarly, the arm64 version is also available: subversion-1.14.1-darwin.20-arm64.tar.gz (SHA1: 2e6068749ded28d5080a7cb37ddee5fdda16858a)
(Static build with: apr-1.7.0, apr-util-1.6.1, openssl-1.1.1g, serf-1.3.9, sqlite-3.33.0, subversion-1.14.0)
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)
- Tcl/Tk
Tcl/Tk is needed for the tcltk package and the binaries are shipped with R releases. Please use the corresponding R installer (you can use "custom" option during installation to just install Tcl/Tk). The corresponding scripts to build Tcl/Tk are in a separate part of the recipes repository.
(sources for open source software not linked directly)
Old version of this page for much older OS X versions.
Disclaimer
All software is provided "as is" and any express or implied warranties, including, but but not limited to the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the publisher, copyright owner or contributors be liable for any direct, indirect, incidental,special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.