[Rcpp-devel] Windows gcc toolchain for R 3.2.0

Duncan Murdoch murdoch.duncan at gmail.com
Wed Mar 18 14:27:26 CET 2015


To anyone following the Windows toolchain saga:

The gcc 4.9.2 toolchain that is currently in Rtools33 has too many 
incompatibilities with existing code, so we won't be using it in the R 
3.2.0 build.  I will soon be uploading to CRAN a new version of Rtools33 
that is very similar to Rtools32, containing gcc 4.6.3.

We are continuing to work on the new toolchain, and hope to have it 
ready before R 3.2.1 is released.

The known problems are as follows:

   - C++ code should not call Rf_error(), as it uses longjmp, and the 
behaviour of longjmp is undefined in C++ when destructors need to be 
called.  However, a number of packages do call Rf_error, and in gcc 
4.6.3, they get away with it.  In our candidate 4.9.2 build, they 
crashed.  If we can't work around this, I'll suggest that we test for 
the presence of Rf_error in C++ code, and start issuing warnings or 
errors when it is seen.  But before we do that, we need a solid replacement.

  - There are some other crashes that appear to be unrelated, also with 
C++ code.

  - There are some subtle differences in arithmetic that result in tests 
failing.  These may be due to bugs in MinGW-w64 code,
or may be unavoidable.

Duncan Murdoch


More information about the Rcpp-devel mailing list