Hi all, I’m currently trying to reinstall Stan and R on my windows laptop and I get the following error when trying to install rstan:
> install.packages("rstan", type = "source")
Installing package into ‘C:/Users/Chan/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/rstan_2.19.3.tar.gz'
Content type 'application/x-gzip' length 922337 bytes (900 KB)
downloaded 900 KB
* installing *source* package 'rstan' ...
** package 'rstan' successfully unpacked and MD5 sums checked
** using staged installation
** libs
*** arch - i386
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -std=gnu1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c sparse_extractors.cpp -o sparse_extractors.o
g++.exe: error: unrecognized command line option '-std=gnu1y'
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: sparse_extractors.o] Error 1
ERROR: compilation failed for package 'rstan'
* removing 'C:/Users/Chan/Documents/R/win-library/3.6/rstan'
Warning in install.packages :
installation of package ‘rstan’ had non-zero exit status
Hi Ryan,
It looks like your makevars file might be in a bit of disarray. The key bit of info is the error message:
g++.exe: error: unrecognized command line option '-std=gnu1y'
This is not a valid compiler flag for this context, I think you might have meant -std=gnu++1y
. But both -std=gnu++1y
and -std=c++1y
do the same thing, so you only need the one.
If you follow the ‘Configuration’ instructions on the RStan wiki for installing from source on Windows (link here), that should fix things
Hi, thanks for the response! I have tried to fix this and now I get a new error while installation:
* installing *source* package 'rstan' ...
** package 'rstan' successfully unpacked and MD5 sums checked
** using staged installation
** libs
*** arch - i386
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c sparse_extractors.cpp -o sparse_extractors.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c misc.cpp -o misc.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c stanc.cpp -o stanc.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c init.cpp -o init.o
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Core:288,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Dense:1,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:13,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/meta/append_return_type.hpp:4,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/meta.hpp:9,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/csr_extract_u.hpp:4,
from sparse_extractors.cpp:2:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c pointer-tools.cpp -o pointer-tools.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c chains.cpp -o chains.o
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include/RcppCommon.h:63,
from C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include/Rcpp.h:27,
from pointer-tools.cpp:1:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Core:288,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Dense:1,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:13,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/meta/append_return_type.hpp:4,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/meta.hpp:9,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/arr/err/check_nonzero_size.hpp:4,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/mean.hpp:4,
from chains.cpp:19:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: pointer-tools.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: sparse_extractors.o] Error 1
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Core:288,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Dense:1,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:13,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src/stan/version.hpp:4,
from stanc.cpp:21:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: chains.o] Error 1
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: stanc.o] Error 1
ERROR: compilation failed for package 'rstan'
* removing 'C:/Users/Chan/Documents/R/win-library/3.6/rstan'
Warning in install.packages :
installation of package ‘rstan’ had non-zero exit status
Can you post the contents of your Makevars file? There might be another configuration issue
CXX14FLAGS=-O3 -march=corei7 -mtune=corei7
CXX14 = $(BINPREF)g++ -m$(WIN) -std=c++1y
CXX11FLAGS=-O3 -march=corei7 -mtune=corei7
Thanks!
Can you try adding:
CXX11 = $(BINPREF)g++ -m$(WIN) -std=c++1y
CXX = $(BINPREF)g++ -m$(WIN) -std=c++1y
I’ve added those lines into the Makevars and now the output is this:
* installing *source* package 'rstan' ...
** package 'rstan' successfully unpacked and MD5 sums checked
** using staged installation
** libs
*** arch - i386
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c sparse_extractors.cpp -o sparse_extractors.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c misc.cpp -o misc.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c stanc.cpp -o stanc.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c init.cpp -o init.o
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Core:288,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Dense:1,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:13,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/meta/append_return_type.hpp:4,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/meta.hpp:9,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/csr_extract_u.hpp:4,
from sparse_extractors.cpp:2:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c pointer-tools.cpp -o pointer-tools.o
C:/Rtools/mingw_64/bin/g++ -m32 -std=c++1y -I"C:/PROGRA~1/R/R-36~1.3/include" -DNDEBUG -I"../inst/include" -I"." -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src" -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I"C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/BH/include" -I"C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include" -O3 -march=corei7 -mtune=corei7 -c chains.cpp -o chains.o
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include/RcppCommon.h:63,
from C:/Users/Chan/Documents/R/win-library/3.6/Rcpp/include/Rcpp.h:27,
from pointer-tools.cpp:1:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Core:288,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Dense:1,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:13,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/meta/append_return_type.hpp:4,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/meta.hpp:9,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/arr/err/check_nonzero_size.hpp:4,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/mean.hpp:4,
from chains.cpp:19:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: pointer-tools.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/random:49:0,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/stl_algo.h:66,
from C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/algorithm:62,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Core:288,
from C:/Users/Chan/Documents/R/win-library/3.6/RcppEigen/include/Eigen/Dense:1,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:13,
from C:/Users/Chan/Documents/R/win-library/3.6/StanHeaders/include/src/stan/version.hpp:4,
from stanc.cpp:21:
C:/Rtools/mingw_64/x86_64-w64-mingw32/include/c++/bits/random.h:106:26: error: expected unqualified-id before '__int128'
{ typedef unsigned __int128 type; };
^
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: sparse_extractors.o] Error 1
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: chains.o] Error 1
make: *** [C:/PROGRA~1/R/R-36~1.3/etc/i386/Makeconf:215: stanc.o] Error 1
ERROR: compilation failed for package 'rstan'
* removing 'C:/Users/Chan/Documents/R/win-library/3.6/rstan'
Warning in install.packages :
installation of package ‘rstan’ had non-zero exit status
Hmm looks like the BINPREF environment variable isn’t getting set correctly:
C:/Rtools/mingw_64/bin/g++ -m32
(that should be mingw_32
)
What’s the output of:
Sys.getenv("BINPREF")
I get the following output:
> Sys.getenv("BINPREF")
[1] "C:/Rtools/mingw_64/bin/"
Can you try running:
cat('Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")',
file = file.path(Sys.getenv("HOME"), ".Rprofile"),
sep = "\n", append = FALSE)
Then restarting R and trying the install again?
Note that this will overwrite your current .Rprofile (if it exists), if that’s an issue then change the append =
to TRUE
Hi, this works now!
Thanks so much for your help and patience