# [Bioc-devel] C++ header changes in R-devel

Dan Tenenbaum dtenenba at fredhutch.org
Wed Mar 2 17:38:53 CET 2016

Hi,

I contacted some of you yesterday because your packages are breaking in R-devel.

Specifically these packages MAY have this issue:

AffyTiling
bgx
CALIB
Cardinal
flipflop
Ringo
rMAT
seqbias

I may have said something like this:

"Probably due to changes in R headers in recent R-devel. Please use
recent R-devel to find and fix the problem."

This may be more helpful. Here is Brian Ripley describing several affected packages:

"These now fail to install in R-devel as they include headers such as R.h
from C++ code inside an extern "C" block. That has been failing in some
pre-release compilers and we have switched to including C++ headers such
as cmath (rather than math.h). Installation now fails with current
versions of common C++ compilers such as g++ and clang++."

\item When \R{} headers such as \file{R.h} and \file{Rmath.h} are
called from C++ code in packages they include the C++ versions of
system headers such as \file{<cmath>} rather than the legacy
can still be circumvented by defining \code{NO_C_HEADERS},
including as from this version for those two headers.)

The manual has long said that \R{} headers should \bold{not} be
included within an \code{extern "C"} block, and almost all the
packages affected by this change are doing so.