Prof Brian Ripley schrieb:
We've added a column at

http://cran.r-project.org/web/checks/check_summary.html

of test results using the Sun Studio compiler: it is intended that these will be updated weekly.

The Sun Studio compiler is that used on Solaris: these runs were on the Linux version. All the other platforms are using gcc 4, so this provides an opportunity for checking for use of gcc-specific features and also standards conformance (the Sun compilers have a long-time reputation for close conformance to the language standards).

There are known problems where packages use C++ or JNI interfaces (e.g. rgdal and EBImage) as the libraries and JVM were compiled under gcc's conventions (even though a Sun JVMi is used). About half the packages using rJava segfault, which seems to a JNI issue.

Some packages use gcc-specific compiler flags:

  LogConcDEAD Matching amap geometry memisc taskPR

but the vast majority of the errors reported are C++ errors. One class that may not be immediately obvious is the use of C headers in C++: you are supposed to write e.g.

#includd <cmath>

NOT

#include <math.h>

Symptoms of this can be seen for packages

  BayesTree EMCC MCMCfglmm MarkedPointProcess Matching Matrix
  RQuantlib RandomFields Rcpp SoPhy compHclust dpmix igraph minet
  mixer modeest monomvm multic pcaPP rgenoud robfilter segclust
  simecol subselect



The reason can also be including <R.h> (as done in simecol) that includes <math.h>

Do I understand it correctly that this means that including <R.h> is wrong in C++? I read "Writing R extensions" several times, but was not aware that this was a mistake. If I replace <R.h> by <cmath> then it works on my systems, but I want to be certain that there are no other side effects.

Thanks in advance for clarification!

Thomas Petzoldt


--
Thomas Petzoldt
Technische Universitaet Dresden
Institut fuer Hydrobiologie        thomas.petzo...@tu-dresden.de
01062 Dresden                      http://tu-dresden.de/hydrobiologie/
GERMANY

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to