This page is for R 2.14.2 and later only: for R 2.12.0 to 2.14.1 see here.

Multilib toolchain

The current toolchain is based on Mingw-w64's build of gcc pre-4.6.3 and version 2.0.1 of their runtime (for both 32- and 64-bit builds). See the 'R Installation and Administration Manual' for how to make use of it.

This is part of Rtools215.exe available from here and separately as multi.zip (53MB)

Note that unlike previous toolchains (and previous candidates) this is a multilib toolchain. All the tools are 32-bit Windows executables, so this toolchain can be run on 32- or 64-bit Windows. Generating 64-bit code is selected by a flag (for the compilers, -m64).

The toolchain contains separate 32- and 64-bit versions of gdb: either its bin32 or bin64 directory can put in your path or /path/to/binxx/gdb.exe used directly.

All the sources are in the multilib directory.

OpenMP and pthreads

Three alternative implementations of pthreads are available, pthreads-w32, winpthreads and winpthreads-static: all unpack to the same location as the candidate toolchain. These are needed to support OpenMP and can also be used on their own.

pthreads-w32 is a more mature implementation, but based only on DLLs which you would need to ship with a package that makes use of it. Further, as those DLLs are licensed under LGPL, you need to meet their licence requirements (the sources are here).

winpthreads is from the `experimental' branch of the MinGW-w64 project. The two versions differ in using DLLs and static linking: there are some known problems (at least with the DLL version) for 64-bit builds with packages using C++.

The current toolchain packaging includes static winpthreads: this may change.

Tcl/Tk

32-bit build of Tcl/Tk: R_Tcl_8-5-8.zip.
64-bit build of Tcl/Tk: R64a_Tcl_8-5-8.zip.

The procedures and scripts used to compile the Tcl directory and in particular to produce the help file are at https://svn.r-project.org/R-packages/trunk/R-Tcl-win/. The sources used were tcl8.5.8-src.tar.gz, tk8.5.8-src.tar.gz, BWidget-1.8.0.tar.bz2 and Tktable2.9.tar.gz.

External software

External software to build packages should ideally be built under this toolchain: software with a C++ interface definitely will need to be.

The software we provide is under the goodies/multilib directory.

This includes a comprehensive `local' tree as local215.zip which can be unpacked and pointed to by the LOCAL_SOFT macro in file src/gnuwin32/MkRules.dist when building from sources, or in the etc/{i386,x64}/Makeconf files in a binary distribution. This contains headers and static libraries for expat (2.0.1), fftw3 (3.3) gdal (1.9.0, includes ODBC drivers), geos (3.3.2), gmp (5.0.4), gsl (1.15), jpeg (8d), libiconv (1.14) libpng (1.5.8) libxml2 (2.7.8), libz (1.2.6), mpfr (3.1.0), mpc (0.9), netcdf (4.0.1), proj (4.7.0), sprng (2.0b), tiff (3.9.5), and udunits2 (2.1.24)

There are also 32/64-bit binary versions of Clp, glpk, nlopt, QuantLib and SYMPHONY for use with packages clpAPI, glpkAPI, nloptr, RQuantLib and Rsymphony.

Sources are under goodies/sources directory.