[R-sig-Debian] Ubuntu 16.10 Yakkety Yak uses GCC 6 but -std=c++98 is missing
Dirk Eddelbuettel
edd at debian.org
Sat Nov 12 03:01:38 CET 2016
On 11 November 2016 at 23:48, Kirill Müller wrote:
| After upgrading to Ubuntu 16.10, which brings GCC 6, I've noticed that
| packages are compiled in C++14 mode by default. Here's what a g++
| command for compiling one of Rcpp's modules look like on my system:
|
| g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/ -fpic -g -O2
| -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
| -D_FORTIFY_SOURCE=2 -g -c barrier.cpp -o barrier.o
|
| According to GCC news [1], the default is now C++14 if no -std is given.
| R-admin suggests adapting the configuration for GCC 6 [2].
|
| I'm using r-base-core in version 3.3.2-1xenial0 from the Ubuntu repo
| [3]. Please advise.
Hm. We had g++-6.* (which does indeed default to C++14) in Debian unstable
for a while now, without problems.
This issue _may_ be fixable by rebuilding r-base-core, but then it would have
been needed for Debian too. Not sure.
This may be an Ubuntu-lagging-Debian issue because we may be rebuilding more
consistently in Debian whereas Ubuntu thinks that R is built with gcc-5 (as
it was) but is now used with gcc-6. Ooops.
You _could_ try idea this by editing /etc/R/Makeconf and inserting the
missing -std=c++-98 for the default CXX builds.
I am still on 16.04 with my machines as I had too much other stuff going on.
Please try a test or two at your end and report back. We should be able to
get this squared.
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the R-SIG-Debian
mailing list