Using Rtools40 on Windows

Starting with R 4.0.0 (released April 2020), R for Windows uses a toolchain bundle called rtools40.

This version of Rtools includes gcc 8.3.0, and introduces a new build system based on msys2, which makes easier to build and maintain R itself as well as the system libraries needed by R packages on Windows. Recent builds of rtools40 also contain an additional gcc-10 ucrt toolchain for testing R packages and system libraries with the experimental ucrt builds of R-devel. For more information about these topics, follow the links at the bottom of this document.

The current version of Rtools is maintained by Jeroen Ooms. Older editions were put together by Prof. Brian Ripley and Duncan Murdoch. The best place for reporting bugs is via the r-windows organization on GitHub.

Installing Rtools40

Note that rtools40 is only needed build R packages with C/C++/Fortran code from source. By default, R for Windows installs the precompiled “binary packages” from CRAN, for which you do not need rtools!

To use rtools40, download the installer from CRAN:

Note for RStudio users: please check you are using a recent version of RStudio (at least 1.2.5042) to work with rtools40.

Putting Rtools on the PATH

After installation is complete, you need to perform one more step to be able to compile R packages: you need to put the location of the Rtools make utilities (bash, make, etc) on the PATH. The easiest way to do so is create a text file .Renviron in your Documents folder which contains the following line:

PATH="${RTOOLS40_HOME}\usr\bin;${PATH}"

You can do this with a text editor, or from R like so (note that in R code you need to escape backslashes):

writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")

Now restart R, and verify that make can be found, which should show the path to your Rtools installation.

Sys.which("make")
## "C:\\rtools40\\usr\\bin\\make.exe"

If this works, you can try to install an R package from source:

install.packages("jsonlite", type = "source")

If this succeeds, you’re good to go! See the links below to learn more about rtools40 and the Windows build infrastructure.

Further Documentation

More documentation about using rtools40 for R users and package authors:

Advanced information about building R base and building system libraries: