[Rcpp-devel] Build failures under windows 64 on R-forge?

Dirk Eddelbuettel edd at debian.org
Mon Jan 9 19:50:45 CET 2012


On 9 January 2012 at 12:23, Douglas Bates wrote:
| Could someone help me to understand the errors in the Windows x86_64
| build of the lme4Eigen package?  See
| https://r-forge.r-project.org/R/?group_id=60&log=build_win64&pkg=lme4Eigen&flavor=patched
| for the errors.  The important part is
| 
| *** arch - x64
| x86_64-w64-mingw32-g++  -I"R:/lib/R/R-patched/include"
| -I../inst/include -I. -DNDEBUG   -I"R:/lib/R/CRAN/2.14/Rcpp/include"
| -I"R:/lib/R/CRAN/2.14/RcppEigen/include" -I"R:/base/local/x64/include"
|     -O2 -Wall  -mtune=core2 -c external.cpp -o external.o
| In file included from R:/lib/R/CRAN/2.14/Rcpp/include/RcppCommon.h:313:0,
|                  from
| R:/lib/R/CRAN/2.14/RcppEigen/include/RcppEigenForward.h:25,
|                  from R:/lib/R/CRAN/2.14/RcppEigen/include/RcppEigen.h:25,
|                  from predModule.h:12,
|                  from external.cpp:7:
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h: In function
| 'SEXPREC* Rcpp::internal::wrap_dispatch_unknown_iterable(const T&,
| Rcpp::traits::false_type) [with T = long long int, SEXPREC* =
| SEXPREC*, Rcpp::traits::false_type =
| Rcpp::traits::integral_constant]':
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h:638:98:
| instantiated from 'SEXPREC*
| Rcpp::internal::wrap_dispatch_unknown(const T&,
| Rcpp::traits::false_type) [with T = long long int, SEXPREC* =
| SEXPREC*, Rcpp::traits::false_type = Rcpp::traits::integral_constant]'
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h:654:96:
| instantiated from 'SEXPREC* Rcpp::internal::wrap_dispatch_eigen(const
| T&, Rcpp::traits::false_type) [with T = long long int, SEXPREC* =
| SEXPREC*, Rcpp::traits::false_type = Rcpp::traits::integral_constant]'
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h:669:80:
| instantiated from 'SEXPREC*
| Rcpp::internal::wrap_dispatch_unknown_importable(const T&,
| Rcpp::traits::false_type) [with T = long long int, SEXPREC* =
| SEXPREC*, Rcpp::traits::false_type = Rcpp::traits::integral_constant]'
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h:687:99:
| instantiated from 'SEXPREC* Rcpp::internal::wrap_dispatch(const T&,
| Rcpp::traits::wrap_type_unknown_tag) [with T = long long int, SEXPREC*
| = SEXPREC*]'
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h:791:104:
| instantiated from 'SEXPREC* Rcpp::wrap(const T&) [with T = long long
| int, SEXPREC* = SEXPREC*]'
| external.cpp:732:46:   instantiated from here
| R:/lib/R/CRAN/2.14/Rcpp/include/Rcpp/internal/wrap.h:433:11: error:
| invalid conversion from 'long long int' to 'SEXPREC*'
| make: *** [external.o] Error 1
| ERROR: compilation failed for package 'lme4Eigen'
| * removing 'R:/lib/R/CRAN/2.14/lme4Eigen'
| * restoring previous 'R:/lib/R/CRAN/2.14/lme4Eigen'
| Run time: 35.06 seconds.
| 
| As far as I can tell, nothing has been defined before
| 
| #include <RcppEigen.h>
| 
| which is at line 12 of predModule.h  What mystifies me is why there is
| a problem with long long int here but not in, say, the build of
| RcppEigen itself for the same architecture.

Not sure. Support for long long hinges on an ifdef which may be on for one
but not the other.

Also, CRAN seems to just have gone to g++ 4.6.3 on Windows per email of BDR
to r-devel so maybe RcppEigen wouldn't build now either...  

Just a guess. Try tossing either one at win-builder.

Dirk

-- 
"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too
dark to read." -- Groucho Marx


More information about the Rcpp-devel mailing list