R 3.4 has broken C++11 support

R 3.4 has broken C++11 support

This commit (I’m using the mirror to have a working link) broke C++11 compilation.

Before (and still now, according to the comments in the configure script), it’s sufficient to just have “SystemRequirements: C++11” in the DESCRIPTION file.

But now “R CMD install” fails with “C++11 standard requested but CXX11 is not defined”, which is, according to the documentation , a lie.

I can’t even circumvent this, as setting “CXX11=$(CXX)” in the src/Makevars file fails with “CXX definition recursive”, and hardcoding “CXX11=g++” is a bad idea.

Did I do sth. wrong or is the C++11 support in R just broken atm.?

Best, Philipp

PS: After addressing all points in the submission of my popular package “IRkernel”, I didn’t get any feedback, and the file just vanished from the incoming directory in CRAN. I asked about it multiple times but got no answer. What can I do now?

[This commit] (I’m using the mirror to have a working link) broke C++11 compilation.

Before (and still now, according to the comments in the configure script), it’s sufficient to just have “SystemRequirements: C++11” in the DESCRIPTION file.

But now “R CMD install” fails with “C++11 standard requested but CXX11 is not defined”, which is, according to [the documentation], a lie.

I can’t even circumvent this, as setting “CXX11=$(CXX)” in the src/Makevars file fails with “CXX definition recursive”, and hardcoding “CXX11=g++” is a bad idea.

Did I do sth. wrong or is the C++11 support in R just broken atm.?

Best, Philipp

PS: After addressing all points in the submission of my popular package “IRkernel”, I didn’t get any feedback, and the file just vanished from the incoming directory in CRAN. I asked about it multiple times but got no answer. What can I do now?

Re: R 3.4 has broken C++11 support

Assuming that you are the same person, I will address the issue here
first.

If you get the message “C++11 standard requested but CXX11 is not
defined” then this means that there is no available C++11 compiler on
your computer. The presence or absence of a working C++11 compiler is
determined at configure time when R is built.

The tests used by R's configure script to determine C++11 support are
more stringent in R 3.4.0 than in previous versions. However, if you
are using gcc you should be protected against this change. For versions
of gcc prior to 4.8 (which have only partial C++11 support) the same
tests as in R 3.3.x are used. This maintains the current behaviour on
long-term service Linux distributions that are stuck with old gcc
versions.

It would be help if you could share more information about your
platform - i.e. the output of sessionInfo() - and specify the compiler
version you are using.