Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing R `forecast` package on a Linux Cluster: compiler issues?

I am looking to test performance of R, more specifically some routines in the forecast package on an HPC cluster with Intel Xeon Phi co-processors. The sysadmin has, I understand, built R/3.2.5 from source following the instructions on Intel's website: https://software.intel.com/en-us/articles/build-r-301-with-intel-c-compiler-and-intel-mkl-on-linux

So R works, installation of packages including devtools, data.table, dplyr, ggplot2, Rcpp, RcppArmadillo can be carried out from within an R session using install.packages to install to a local user-specific library. The reason I mention these packages is that they all require some form of compilation, hence I was required to include the line module load intel/15.2.164 in my .bashrc file to get the compiler loaded.

However when I come to install the forecast package I have a failure. There is a long stream of text output (see below) however in summary it appears as if something related to the compiler is failing:

/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(115): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value + __y._M_value;

I'm afraid I understand very little about compiling software and administering/installing: these problems have never occurred for me previously on my Mac or the university Linux cluster.

> install.packages("forecast")
Installing package into '/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5'
(as 'lib' is unspecified)
trying URL 'https://www.stats.bris.ac.uk/R/src/contrib/forecast_7.1.tar.gz'
Content type 'application/x-gzip' length 196896 bytes (192 KB)
==================================================
downloaded 192 KB

* installing *source* package 'forecast' ...
** package 'forecast' successfully unpacked and MD5 sums checked
** libs
icpc -I/gpfs/stfc/local/apps/intel/R/3.2.5/lib64/R/include -DNDEBUG  -I/gpfs/stfc/local/apps/intel/utilities/include -I"/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include" -I"/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/RcppArmadillo/include"   -fpic  -O2  -c calcBATS.cpp -o calcBATS.o
icpc -I/gpfs/stfc/local/apps/intel/R/3.2.5/lib64/R/include -DNDEBUG  -I/gpfs/stfc/local/apps/intel/utilities/include -I"/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include" -I"/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/RcppArmadillo/include"   -fpic  -O2  -c calcTBATS.cpp -o calcTBATS.o
icpc -I/gpfs/stfc/local/apps/intel/R/3.2.5/lib64/R/include -DNDEBUG  -I/gpfs/stfc/local/apps/intel/utilities/include -I"/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include" -I"/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/RcppArmadillo/include"   -fpic  -O2  -c etsTargetFunction.cpp -o etsTargetFunction.o
In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(69): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          _M_value = __z._M_value;
                         ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(77): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          _M_value = __z._M_value;
                         ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(115): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value + __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(115): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value + __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(120): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value - __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(120): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value - __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(125): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value * __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(125): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value * __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(130): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value / __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(130): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value / __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(134): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return -__x._M_value;
                      ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(141): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value == __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(141): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value == __y._M_value;
                                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(146): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value != __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(146): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value != __y._M_value;
                                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(150): error #308: member "std::complex<float>::_M_value" (declared at line 1157 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return ~__z._M_value;
                      ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(187): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value + __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(187): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value + __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(192): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value - __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(192): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value - __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(197): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value * __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(197): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value * __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(202): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value / __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(202): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value / __y._M_value;
                                    ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(206): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return -__x._M_value;
                      ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(211): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value == __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(211): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value == __y._M_value;
                                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(216): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value != __y._M_value;
                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(216): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return __x._M_value != __y._M_value;
                                     ^

In file included from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/RcppCommon.h(64),
                 from /gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/Rcpp/include/Rcpp.h(27),
                 from etsTargetFunction.h(3),
                 from etsTargetFunction.cpp(7):
/gpfs/stfc/local/apps/intel/intel_cs/2015.2.164/composer_xe_2015.2.164/compiler/include/complex(220): error #308: member "std::complex<double>::_M_value" (declared at line 1302 of "/usr/include/c++/4.4.7/complex") is inaccessible
          return ~__z._M_value;
                      ^

compilation aborted for etsTargetFunction.cpp (code 2)
make: *** [etsTargetFunction.o] Error 2
ERROR: compilation failed for package 'forecast'
* removing '/gpfs/stfc/local/HCPhi012/mjw01/mjw93-mjw01/library/R/3.2.5/forecast'

The downloaded source packages are in
    '/tmp/RtmppswtIw/downloaded_packages'
Warning message:
In install.packages("forecast") :
  installation of package 'forecast' had non-zero exit status

It appears as if there is little documentation out there about R and the Xeon Phi co-processor and a single question on StackOverflow which remains unanswered: R Parallel Processing with Xeon Phi, minimal code changes?

I'd be very grateful if anyone can point me in the right direction here. Many thanks.

like image 407
Matt Weller Avatar asked Apr 19 '16 15:04

Matt Weller


2 Answers

I used to have the same issue. It seems RcppArmadillo gets the #pragma warning (push) and #pragma warning (pop) out of balance somehow.

By the time Intel's complex is processed you must have warning 308 disabled.

The easiest way is to add to R's Makeconf:

CXXFLAGS = -diag-disable 308

that solves the problem once and for all.

like image 71
hroptatyr Avatar answered Oct 04 '22 14:10

hroptatyr


Added the below line to my ~/.R/Makevars and it solved the issue.

CXXFLAGS += -wd308
like image 32
Roshan T M Avatar answered Oct 04 '22 16:10

Roshan T M