Git Product home page Git Product logo

rcppeigen's Introduction

RcppEigen: R and Eigen via Rcpp

CI License License CRAN r-universe Dependencies Coverage Status Debian package Last Commit Downloads (monthly) Downloads (total) CRAN use BioConductor use StackOverflow JSS

Synopsis

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers and related algorithms. It supports dense and sparse matrices on integer, floating point and complex numbers, decompositions of such matrices, and solutions of linear systems. Its performance on many algorithms is comparable with some of the best implementations based on Lapack and level-3 BLAS.

RcppEigen provides an interface from R to and from Eigen by using the facilities offered by the Rcpp package for seamless R and C++ integration.

Examples

A few examples are over at the Rcpp Gallery. A simple one is

#include <RcppEigen.h>

// [[Rcpp::depends(RcppEigen)]]

using Eigen::Map;                       // 'maps' rather than copies
using Eigen::MatrixXd;                  // variable size matrix, double precision
using Eigen::VectorXd;                  // variable size vector, double precision
using Eigen::SelfAdjointEigenSolver;    // one of the eigenvalue solvers

// [[Rcpp::export]]
VectorXd getEigenValues(Map<MatrixXd> M) {
    SelfAdjointEigenSolver<MatrixXd> es(M);
    return es.eigenvalues();
}

which can be turned into a function callable from R via a simple

sourceCpp("eigenExample.cpp")

due to the two Rcpp directives to use headers from the RcppEigen package, and to export the getEigenValues() function -- but read the full post for details.

Status

The package is mature and under active development, following the Eigen release cycle.

Documentation

The package contains a pdf vignette which is a pre-print of the paper by Bates and Eddelbuettel in JSS (2013, v52i05).

Authors

Douglas Bates, Dirk Eddelbuettel, Romain Francois, and Yixuan Qiu

License

GPL (>= 2)

rcppeigen's People

Contributors

alyst avatar chingchuan-chen avatar coatless avatar dmbates avatar eddelbuettel avatar jaganmn avatar jgabry avatar kalibera avatar michaelweylandt avatar mmaechler avatar romainfrancois avatar rstub avatar yixuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rcppeigen's Issues

compilation failed due to file unavailabilty

Hi,
I am trying to install boruto package which have dependency on RccpEigen showing error while compilation then I again tried installing only then also same error is popping up. I have tried manual downloading and installing still the same error seems not able to find RcppEigenForward.h
Below is error what I am getting

  • installing source package 'RcppEigen' ...
    ** package 'RcppEigen' successfully unpacked and MD5 sums checked
    ** libs
    g++ -m64 -I/usr/include/R -DNDEBUG -I"/home/sarvagya1/R/x86_64-redhat-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include -I../inst/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RcppEigen.cpp -o RcppEigen.o
    In file included from ../inst/include/RcppEigen.h:25:0,
    from RcppEigen.cpp:22:
    ../inst/include/RcppEigenForward.h:25:20: fatal error: iterator: No such file or directory
    compilation terminated.
    make: *** [RcppEigen.o] Error 1
    ERROR: compilation failed for package 'RcppEigen'
  • removing '/home/sarvagya1/R/x86_64-redhat-linux-gnu-library/3.4/RcppEigen'

Tensor and wrap

Hi Gang:

I see that the new tensores are included with RcppEigen which is great. However, I don't see a wrap function for tensors in RcppEigenWrap.h so that a tensor could be returned as an array object to R. I have never written a wrap function. But, if some nice person is willing to give me some hints, then I could take a crack at it.

Thanks,

Rodney

RcppEigen.so: file too short

I'm an absolute noob when it comes to build issues so apologies in advance should the solution to this be obvious.

Trying to install RcppEigen yields the following error:

trying URL 'https://cloud.r-project.org/src/contrib/RcppEigen_0.3.3.3.1.tar.gz'
Content type 'application/x-gzip' length 1627022 bytes (1.6 MB)
==================================================
downloaded 1.6 MB

* installing *source* package 'RcppEigen' ...
** package 'RcppEigen' successfully unpacked and MD5 sums checked
** libs
g++  -I/farmshare/software/free/r/R-3.4.2/include -DNDEBUG  -I"/afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include  -I../inst/include -fpic  -g -O2  -c RcppEigen.cpp -o RcppEigen.o
g++  -I/farmshare/software/free/r/R-3.4.2/include -DNDEBUG  -I"/afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include  -I../inst/include -fpic  -g -O2  -c RcppExports.cpp -o RcppExports.o
g++  -I/farmshare/software/free/r/R-3.4.2/include -DNDEBUG  -I"/afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include  -I../inst/include -fpic  -g -O2  -c fastLm.cpp -o fastLm.o
gcc -std=gnu99 -I/farmshare/software/free/r/R-3.4.2/include -DNDEBUG  -I"/afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include" -I/usr/local/include   -fpic  -g -O2  -c init.c -o init.o
g++ -shared -L/farmshare/software/free/r/R-3.4.2/lib -L/usr/local/lib -o RcppEigen.so RcppEigen.o RcppExports.o fastLm.o init.o -llapack -lf77blas -latlas -lgfortran -lm -lquadmath -L/farmshare/software/free/r/R-3.4.2/lib -lR
installing to /afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/RcppEigen/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error: package or namespace load failed for 'RcppEigen' in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/RcppEigen/libs/RcppEigen.so':
  /afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/RcppEigen/libs/RcppEigen.so: file too short
Error: loading failed
Execution halted
ERROR: loading failed
* removing '/afs/.ir.stanford.edu/users/t/o/tobiass/R/x86_64-pc-linux-gnu-library/3.4/RcppEigen'

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

System Info:

> sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.5 LTS

Matrix products: default
BLAS: /usr/lib/atlas-base/libf77blas.so.3.0
LAPACK: /usr/lib/lapack/liblapack.so.3.0

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.4.2 tools_3.4.2

~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/software/free/gcc/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --prefix=/farmshare/software/free/gcc/
Thread model: posix
gcc version 6.2.0 (GCC)

Compilation warning (CRAN check) ('res.Eigen::internal::Packet2cf::v' is used uninitialized)

Hi,

I know this is surely harmless however it might be a repeated problem when submitting to CRAN, as they tend to be picky with compulation warnings... Here it is — an unitialized value in some Eigen function:

In file included from D:/RCompile/CRANpkg/lib/4.0/RcppEigen/include/Eigen/Core:394:0, from D:/RCompile/CRANpkg/lib/4.0/RcppEigen/include/Eigen/Dense:1, from D:/RCompile/CRANpkg/lib/4.0/RcppEigen/include/RcppEigenForward.h:30, from D:/RCompile/CRANpkg/lib/4.0/RcppEigen/include/RcppEigen.h:25, from (....) D:/RCompile/CRANpkg/lib/4.0/RcppEigen/include/Eigen/src/Core/arch/SSE/Complex.h: In function 'Packet Eigen::internal::pset1(const typename Eigen::internal::unpacket_traits<Packet>::type&) [with Packet = Eigen::internal::Packet2cf; typename Eigen::internal::unpacket_traits<Packet>::type = std::complex<float>]': D:/RCompile/CRANpkg/lib/4.0/RcppEigen/include/Eigen/src/Core/arch/SSE/Complex.h:103:50: warning: 'res.Eigen::internal::Packet2cf::v' is used uninitialized in this function [-Wuninitialized] res.v = _mm_loadl_pi(res.v, (const __m64*)&from);

'Compilation failed' error during installation

Hi,

Just wondering if anyone might know the reason for this error. I am using a pretty freshly installed ubuntu xenial 16.04 on an AWS instance (t2 micro so only 1GB of RAM). My g++ version is 5.4.0

It takes quite long before the compilation error appears.

> install.packages('RcppEigen')
Installing package into ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/RcppEigen_0.3.3.4.0.tar.gz'
Content type 'application/x-gzip' length 1631870 bytes (1.6 MB)
==================================================
downloaded 1.6 MB

* installing *source* package ‘RcppEigen’ ...
** package ‘RcppEigen’ successfully unpacked and MD5 sums checked
** libs
g++  -I/usr/share/R/include -DNDEBUG  -I"/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include"   -I../inst/include -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c RcppEigen.cpp -o RcppEigen.o
g++  -I/usr/share/R/include -DNDEBUG  -I"/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include"   -I../inst/include -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c RcppExports.cpp -o RcppExports.o
g++  -I/usr/share/R/include -DNDEBUG  -I"/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/include"   -I../inst/include -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c fastLm.cpp -o fastLm.o
virtual memory exhausted: Cannot allocate memory
/usr/lib/R/etc/Makeconf:168: recipe for target 'fastLm.o' failed
make: *** [fastLm.o] Error 1
ERROR: compilation failed for package ‘RcppEigen’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.4/RcppEigen’

The downloaded source packages are in
        ‘/tmp/RtmphYSiGQ/downloaded_packages’
Warning message:
In install.packages("RcppEigen") :
  installation of package ‘RcppEigen’ had non-zero exit status

Status of Eigen 3.3.2

I just want to report the current status of updating RcppEigen to Eigen 3.3.2. In short, there are a few incompatibilities between the dependent packages of RcppEigen and Eigen 3.3. Below is a list of packages that have problems so far:

BigVAR

Fixed on GitHub

CorReg

File rechercheZ.cpp, line 90-92:
imaxiter is a numeric vector, so imaxiter[0] is of type "double".
The constructor of Eigen vectors require integer argument, so imaxiter[0]
should be changed to static_cast<int>(imaxiter[0]).

File rechercheZ_rejet.cpp, line 60-62: Same as above.

File rechercheZ_relax.cpp, line 58-60: Same as above.

File rechercheZ_sparse_relax.cpp, line 66-68: Same as above.

oem

Fixed on GitHub

Update 03/22: Already fixed in recent CRAN version.

OpenMx

Waiting bug to be fixed.

Update 03/22: The code is now able to compile, but has a new runtime error.

TDA

In Eigen 3.3, when one wants to define a new scalar type, one needs to define a new typedef named
Literal.

src/CGAL/Sqrt_extension/Eigen_NumTraits.h, line 31: Add one line typedef Real Literal;.

src/CGAL/Quotient.h, line 860: Add one line typedef CGAL::Quotient<NT> Literal;.

src/CGAL/Mpzf.h, line 1136: Add one line typedef CGAL::Mpzf Literal;.

src/CGAL/MP_Float.h, line 889: Add one line typedef CGAL::MP_Float Literal;.

src/CGAL/Lazy_exact_nt.h, line 1429: Add one line typedef CGAL::Lazy_exact_nt<ET> Literal;.

src/CGAL/Interval_nt.h, line 1269: Add one line typedef CGAL::Interval_nt<b> Literal;.

src/CGAL/Gmpz.h, line 216: Add one line typedef CGAL::Gmpz Literal;.

src/CGAL/Gmpq.h, line 142: Add one line typedef CGAL::Gmpq Literal;.

TMB

A bit more complicated. The package depends on another library that has compatibility issues with Eigen 3.3, and I'm trying to find a way to fix it.

I think we need to wait for all bugs being fixed before we can submit the updated RcppEigen to CRAN.

Update 02/18: Issues of TMB have been fixed by the author.

Update to Eigen 3.2.9

We'd like to use Eigen 3.2.9 (released 18.07.2016) for RStan because they've made private members of the unsupported matrix exponential class protected, which we need to extend them to our autodiff types for Stan (so we can provide differentiable steady-state solutions to systems of diff eqs).

I don't know what Eigen's or RcppEigen's schedules are for the stable version of 3.3.0, but that would also work for us assuming they roll in 3.2.9 changes---we've already updated Stan's integration to deal with all the changes in 3.3.0. It'll be at least a month or two from now until we're ready to roll out matrix exponentials.

Parallel Matrix Multiply

Is it possible to perform parallel matrix multiplications with RcppEigen? I am achieving faster (~2x) single-core results with RcppEigen as compared to %*% but as I have 8 cores, and %*% uses all them, %*% ends up being faster (by about 3x).

Here is my test.cpp file:

// [[Rcpp::depends(RcppArmadillo, RcppEigen)]]

#include <RcppArmadillo.h>
#include <RcppEigen.h>

// [[Rcpp::export]]
SEXP armaMatMult(arma::mat A, arma::mat B){
    arma::mat C = A * B;

    return Rcpp::wrap(C);
}

// [[Rcpp::export]]
SEXP eigenMatMult(Eigen::MatrixXd A, Eigen::MatrixXd B){
    Eigen::MatrixXd C = A * B;

    return Rcpp::wrap(C);
}

// [[Rcpp::export]]
SEXP eigenMapMatMult(const Eigen::Map<Eigen::MatrixXd> A, Eigen::Map<Eigen::MatrixXd> B){
    Eigen::MatrixXd C = A * B;

    return Rcpp::wrap(C);
}

And the results I am getting:

library(Rcpp)
sourceCpp("test.cpp")

X_test <- matrix(rnorm(4112*23050), nrow = 4112)
W1     <- matrix(rnorm(23050*2500), ncol = 2500)

system.time(res <- eigenMatMult(X_test, W1))
user  system elapsed 
29.536   0.552  30.147 

system.time(pres <- X_test %*% W1)
user  system elapsed 
71.600   4.464   9.937

"eigen_version" unexposed but stated in manual

In the RcppEigen vignette, on page 2, an example is given: Calling

.Call("eigen_version", FALSE)

is supposed to return the version of Eigen used in RcppEigen, after loading the package. However, doing so in RcppEigen, version 0.3.3.5.0, leads to

> library(RcppEigen)
> .Call("eigen_version", FALSE)
# Error in .Call("eigen_version", FALSE) :
#  C symbol name "eigen_version" not in load table

I am wondering if eigen_version was removed and this is expected behaviour (in which case the vignette is out of date) or if something might have gone wrong when I installed RcppEigen.

A call to sessionInfo() returns the following

R version 3.6.0 (2019-04-26)
Platform: x86_64-apple-darwin18.5.0 (64-bit)
Running under: macOS Mojave 10.14.5

Matrix products: default
BLAS/LAPACK: /usr/local/Cellar/openblas/0.3.6_1/lib/libopenblasp-r0.3.6.dylib

locale:
[1] en_GB/UTF-8/en_GB/C/en_GB/en_GB

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] RcppEigen_0.3.3.5.0 colorout_1.2-0

loaded via a namespace (and not attached):
[1] compiler_3.6.0  Matrix_1.2-17   Rcpp_1.0.1      grid_3.6.0
[5] lattice_0.20-38

EDIT: I tested RcppEigen with the transpose example on page 5 in the vignette, which works fine.

Need for $(FLIBS)

With the "header only" version of Rcpp the PKG_LIBS definition In src/Makevars and src/Makevars.win can drop the call to Rcpp::LdFlags(). This is one of the big advantages of a header-only C++ library -- all the code in incorporated at compile time, not during linking.

Vincent Yu asked if it would be possible to eliminate $(FLIBS) there too as it just makes for more work under OS X. The answer, sadly, is "no" and the reason had nothing to do with the Eigen package itself - it is a consequence of Dirk and I getting to carried away with corner cases when we wrote the vignette. We added a method to the demo function fastLm that uses the LAPACK function dgesdd to compute the singular value decomposition. That one call, in a demo function no less, means that you must include $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) in the definition of PKG_LIBS.

It would be awkward to try to change that because a version of that vignette is published in JSS

UBSAN error

Hello,
UBSAN gives an error when testing CorReg (which depends on RcppEigen):

/data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/PlainObjectBase.h:156:16: runtime error: reference binding to null pointer of type 'double'
/data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/MapBase.h:203:14: runtime error: reference binding to null pointer of type 'double'
/data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/PlainObjectBase.h:169:16: runtime error: reference binding to null pointer of type 'const double'
/data/gannet/ripley/R/test-clang/RcppEigen/include/Eigen/src/Core/MapBase.h:103:14: runtime error: reference binding to null pointer of type 'const double'

but I don't explicitely use these files (MapBase and PlainObjectBase) so I don't know how to fix it. I've seen that other packages that use RcppEigen don't have this UBSAN error so it seems to depends on my own code. Do you have any idea of the meaning of such an error ?

thanks

Clement

RcppEigen_Eigen_SSE has no calling parameters

last line of lmBenchmark.R:

.Call("RcppEigen_Eigen_SSE", FALSE, PACKAGE="RcppEigen")
Error in .Call("RcppEigen_Eigen_SSE", FALSE, PACKAGE = "RcppEigen") :
Incorrect number of arguments (1), expecting 0 for 'RcppEigen_Eigen_SSE'

Correct call:

.Call("RcppEigen_Eigen_SSE", PACKAGE="RcppEigen")
[1] TRUE

sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] RcppGSL_0.3.2 RcppArmadillo_0.7.800.2.0 RcppEigen_0.3.3.3.0 rbenchmark_1.0.0

loaded via a namespace (and not attached):
[1] compiler_3.4.0 Matrix_1.2-9 tools_3.4.0 Rcpp_0.12.11 grid_3.4.0 lattice_0.20-35

fastLm() argument name clash with apply()

Hi,

I was trying to residualize many columns in a matrix using apply() and RcppEigen::fastLm() but it seems that both functions take an argument "X", causing error.

Here is an example:

// residualize columns 3,4 against columns 1,2
a <- matrix(1:8, 2, 4)
apply(a[,3:4], 2, RcppEigen::fastLm, X=a[,1:2])

Running the above lines generate the following error:

Error in match.fun(FUN) : '2' is not a function, character or symbol

Is there a way around this or would it be possible to change the argument names of fastLm()?

Thanks!

Deprecated warnings with -std=c++11

Not sure if this qualifies as an issue but when I compile the following example I get a bunch of deprecated warnings when using the gcc -std=c++11 flag (added to Makevars with PKG_CXXFLAGS):

#include <Rcpp.h>
using namespace Rcpp;
#include <RcppEigen.h>

// [[Rcpp::depends(RcppEigen)]]

using Eigen::Map;                       // 'maps' rather than copies
using Eigen::MatrixXd;                  // variable size matrix, double precision
using Eigen::VectorXd;                  // variable size vector, double precision
using Eigen::SelfAdjointEigenSolver;    // one of the eigenvalue solvers

// [[Rcpp::export]]
List getEigenValues(Map<MatrixXd> M) {
  SelfAdjointEigenSolver<MatrixXd> es(M);
  auto M1 = M * M;
  List ret;
  ret["values"]=es.eigenvalues();
  ret["vectors"]=es.eigenvectors();
  ret["prod"] = M1;
  return ret;
}

The code does compile and works as expected but there are some warnings about 'std::binder2nd’. Again, not sure if this qualifies as an issue as the code does run properly.

Best regards,
Jason

mkl.h missing in installation on cluster with R 3.5.2

I just updated to R 3.5.2 on my campus's computing cluster and I'm trying to install RcppEigen. According to a Google search of the error (mkl.h No such file or directory), I need to add something like

source /opt/intel/bin/compilervars.sh intel64

to the .bashrc file. However, this extension doesn't work on my system. Do you know how to make it find mkl.h? I've contacted the cluster system admins about this, but I thought maybe someone here would know what to do.

trying URL 'https://stat.ethz.ch/CRAN/src/contrib/RcppEigen_0.3.3.5.0.tar.gz'
Content type 'application/x-gzip' length 1633859 bytes (1.6 MB)
==================================================
downloaded 1.6 MB

* installing *source* package 'RcppEigen' ...
** package 'RcppEigen' successfully unpacked and MD5 sums checked
** libs
g++  -I"/appl/R/3.5.2-sl64/lib64/R/include" -DNDEBUG  -I"/zhome/61/6/119429/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -DEIGEN_USE_MKL_ALL -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -I/usr/local/include  -I../inst/include -fpic  -I/appl/R/3.5.2-sl64/include -O2 -fomit-frame-pointer  -c RcppEigen.cpp -o RcppEigen.o
In file included from ../inst/include/Eigen/Core:100:0,
                 from ../inst/include/Eigen/Dense:1,
                 from ../inst/include/RcppEigenForward.h:30,
                 from ../inst/include/RcppEigen.h:25,
                 from RcppEigen.cpp:22:
../inst/include/Eigen/src/Core/util/MKL_support.h:58:21: fatal error: mkl.h: No such file or directory
 #   include <mkl.h>
                     ^
compilation terminated.
make: *** [RcppEigen.o] Error 1
ERROR: compilation failed for package 'RcppEigen'
* removing '/zhome/61/6/119429/R/x86_64-pc-linux-gnu-library/3.5/RcppEigen'

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

Rcpp.package.skeleton() update

As per email from Francois Rousset, it still calls R's package.skeleton() with the now-deprecated namespace argument.

Can fastLm run on a matrix, columnwise, like lm does in R ?

I have a matrix with 1000 columns, and 11 rows. The rows are the response variables. x is the same for all y.
In R, using standard lm, I can do this:

coef(lm(mat ~ poly((1:11), 3, raw=TRUE)))

and get all the coefficients, for all my columns in about a second.
This is very fast. If I run each column individually using fastLm like this:

apply(m2, 2, function(y) coef(fastLm(y ~ poly(xRef, 3, raw=TRUE), method=2)) )

it takes a 100 times longer.
Is there any way I can run fastLm like I do with lm in the first example? The reason I need this is because fastLm / method2 is supposed to be 8 times faster than lm.fit.

Thank you.

Import Eigen 3.3.1

Sorry for reckless PR to update the version of Eigen. Eigen 3.3.2 has been released two days ago, I try to update version of Eigen to 3.3.1.

I review the PR records, I find some patches before 3.2.9:

But I don't know how to let RcppEigen not to use long long int which causes errors.
I use #define EIGEN_DEFAULT_DENSE_INDEX_TYPE long int, but it is wrong.
After compiling several reverse dependent packages, I figure out that what Dirk says #define is wrong since EIGEN_DEFAULT_DENSE_INDEX_TYPE has been defined in several packages.

Enabling OpenMP

Similar to RcppArmadillo, there is the possibility of a speedup by enabling OpenMP for RcppEigen. Though, I'm not sure about repeating the heartache associated with RcppArmadillo.

The main changes are:

  1. The plugin manager would need the proper OPENMP variables:

https://github.com/RcppCore/RcppEigen/blob/master/R/inline.R#L18

  1. The package skeleton's Makevars file can be updated to include:
PKG_CPPFLAGS=$(SHLIB_OPENMP_CXXFLAGS)
PKG_LIBS=$(SHLIB_OPENMP_CXXFLAGS)

warnings with some compilers due to unknown/unsupported pragma directives

On some OSX systems (presumably using clang compilers), packages that are using RcppEigen spout a LOT of warnings of the form:

warning: pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas] #pragma clang diagnostic pop

I know this is a harmless warning, but end-users in an R context are very often either not software developers at all, or at least lack exposure and experience with compiled programming languages. In an R context warnings are typically more serious and indicative of a serious problem than the compiler warnings in a C/CXX context are assumed to be.

This can result in users being worried about the trustworthiness of a package and being spooked into not using it at all.

Could something be done with preprocessor directives to determine when these pragma directives are actually supported and surround them with #if style directives, so they are only visible the compilers that understand what they do?

RcppEigen Error GLIBC

** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error: package or namespace load failed for ‘RcppEigen’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/data_alpha/home/trezende/compiled/R-3.4.4/lib64/R/library/RcppEigen/libs/RcppEigen.so':
  /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /data_alpha/home/trezende/compiled/R-3.4.4/lib64/R/library/RcppEigen/libs/RcppEigen.so)
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/data_alpha/home/trezende/compiled/R-3.4.4/lib64/R/library/RcppEigen’
Warning message:
In install.packages("RcppEigen_0.3.2.2.0.tar.gz") :
  installation of package ‘RcppEigen_0.3.2.2.0.tar.gz’ had non-zero exit status

Hi, I am having a lot of trouble installing RcppEigen. I am using a Rehat Linux server ( without root access) and currently using a local R installation. I tried older sources of RcppEigen, but they had a different set of errors. Too many errors.
I have GLIBC_2.23, and GCC 5.5.0 both installed using Linuxbrew.

I have Makevars file setting to the newer gcc and RcppEigen keeps looking for /lib64/libc.so.6 instead of the local updated copy.

Can you help me?
What am I doing wrong?

Thanks.

Update to Eigen 3.3.7

The patches/ helps isolate what we needed to change, so it is be reasonably straightforward for anybody with a bit of patience (and some C++ / Rcpp / Eigen / ... knowledge) to lead this.

Installing RcppEigen crashes RStudio

Hi,

I don't know why but running install.packages("RcppEigen") and install_github(...) crashed my RStudio on Linux..

One thing that worked for me was run the R itself in terminal and then install the package.

installation error: object 'pkgInfo' not found

I am trying to install RcppEigen on my uni's cluster and I get the following error. I realised this when installing broom package but tracked the issue back to RcppEigen. I tried looking for object 'pkgInfo' online but not much returned. Is this something I can fix myself (without sudo permission) or should I consult IT service (who can sudo)? Any help is appreciated as I cannot load RcppEigen, hence broom, hence tidyverse.

install.packages("RcppEigen")
Installing package into ‘/nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
trying URL 'https://cran.ma.imperial.ac.uk/src/contrib/RcppEigen_0.3.3.5.0.tar.gz'
Content type 'application/x-gzip' length 1633859 bytes (1.6 MB)
==================================================
downloaded 1.6 MB

  • installing source package ‘RcppEigen’ ...
    ** package ‘RcppEigen’ successfully unpacked and MD5 sums checked
    ** libs
    icpc -I"/apps/languages/R/3.5.1/el7/AVX512/intel-2018/lib64/R/include" -DNDEBUG -I"/nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -I../inst/include -fpic -xHost -c RcppEigen.cpp -o RcppEigen.o
    icpc -I"/apps/languages/R/3.5.1/el7/AVX512/intel-2018/lib64/R/include" -DNDEBUG -I"/nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -I../inst/include -fpic -xHost -c RcppExports.cpp -o RcppExports.o
    icpc -I"/apps/languages/R/3.5.1/el7/AVX512/intel-2018/lib64/R/include" -DNDEBUG -I"/nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -I../inst/include -fpic -xHost -c fastLm.cpp -o fastLm.o
    icc -std=gnu99 -I"/apps/languages/R/3.5.1/el7/AVX512/intel-2018/lib64/R/include" -DNDEBUG -I"/nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5/Rcpp/include" -I/usr/local/include -fpic -xHost -c init.c -o init.o
    icpc -shared -L/usr/local/lib64 -o RcppEigen.so RcppEigen.o RcppExports.o fastLm.o init.o -L/apps/languages/R/3.5.1/el7/AVX512/intel-2018/lib64/R/lib -lRlapack -L/apps/languages/R/3.5.1/el7/AVX512/intel-2018/lib64/R/lib -lRblas -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl
    installing to /nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5/RcppEigen/libs
    ** R
    ** inst
    ** byte-compile and prepare package for lazy loading
    Error in loadNamespace(j <- imp[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
    object 'pkgInfo' not found
    ERROR: lazy loading failed for package ‘RcppEigen’
  • removing ‘/nfshome/store03/users/c.c1541911/R/x86_64-pc-linux-gnu-library/3.5/RcppEigen’

The downloaded source packages are in
‘/tmp/RtmppNWEih/downloaded_packages’
Warning message:
In install.packages("RcppEigen") :
installation of package ‘RcppEigen’ had non-zero exit status

Sys.info()
sysname release
"Linux" "3.10.0-693.21.1.el7.x86_64"
version nodename
"#1 SMP Fri Feb 23 18:54:16 UTC 2018" "cl1"
machine login
"x86_64" "c.c1541911"
user effective_user
"c.c1541911" "c.c1541911"

Different RcppEigen.package.skeleton behavior depending on whether the pkgKitten package is installed

Let me try to explain what is the problem
Consider the following sequence of operations from the console:

> mkdir tmp
> cd tmp
> mkdir myPackage

After that, it is obvious that tmp contains only the myPackage folder and the myPackage folder is empty

Now I want to create a new R package inside the myPackage folder

Now consider 2 cases:

  1. The pkgKitten package is not installed on the current interpreter
    I run following code

    > R -q -e "RcppEigen::RcppEigen.package.skeleton('myPackage', force = T)"

    and get the next one output

    Calling package.skeleton to create basic package.
    Creating directories ...
    Creating DESCRIPTION ...
    Creating NAMESPACE ...
    Creating Read-and-delete-me ...
    Saving functions and data ...
    Making help files ...
    Done.
    Further steps are described in './myPackage/Read-and-delete-me'.

    Adding RcppEigen settings
    >> added Imports: Rcpp, RcppEigen
    >> added LinkingTo: Rcpp, RcppEigen
    >> added useDynLib and importFrom directives to NAMESPACE
    >> added Makevars file with RcppEigen settings
    >> added Makevars.win file with RcppEigen settings
    >> added example src file using Eigen classes
    >> added example Rd file for using Eigen classes
    >> invoked Rcpp::compileAttributes to create wrappers

    Let's look inside the myPackage folder

    > ls myPackage/
    DESCRIPTION  man  NAMESPACE  R  Read-and-delete-me  src

    Great! The package was created

  2. The pkgKitten package is installed on the current interpreter now
    Let's try

    > R -q -e "RcppEigen::RcppEigen.package.skeleton('myPackage', force = T)"

    Calling kitten to create basic package.
    Error: Directory 'myPackage' already exists. Aborting.

    Oops, error. And the directory is of course empty.

I think this behavior is unacceptable. It depends on some external factors. Are you sure you want to use the pkgKitten package? Or maybe you should give the user a choice whether to use it? The directory where I want to create the package may be not empty. I would like to be able to create a package without first deleting pkgKitten every time. Thanks

3.5.1 issues?

I'm trying to figure out if I'm missing a library that is causing a massive number of warnings (many pages of them), or whether we can ignore them. I'm using a Debian stretch based build (rocker/shiny). Many of them look like below.

g++  -I"/usr/local/lib/R/include" -DNDEBUG -I../inst/include -I"/usr/local/lib/R/site-library/Rcpp/include" -I"/usr/local/lib/R/site-library/RcppEigen/include" -I/usr/local/include   -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c eigs_gen.cpp -o eigs_gen.o
In file included from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Core:388:0,
                 from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Dense:1,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigenForward.h:30,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigen.h:25,
                 from eigs_gen.cpp:1:
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:60:39: warning: ignoring attributes on template argument ‘__m128 {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128>  { enum { value = true }; };
                                       ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:61:40: warning: ignoring attributes on template argument ‘__m128i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128i> { enum { value = true }; };
                                        ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:62:40: warning: ignoring attributes on template argument ‘__m128d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128d> { enum { value = true }; };
                                        ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:161:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4, alignment=Aligned16}; typedef Packet4f half; };
                                           ^
In file included from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Core:388:0,
                 from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Dense:1,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigenForward.h:30,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigen.h:25,
                 from eigs_gen.cpp:1:
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:162:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet2d> { typedef double type; enum {size=2, alignment=Aligned16}; typedef Packet2d half; };
                                           ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:163:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4, alignment=Aligned16}; typedef Packet4i half; };
                                           ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:712:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4f>
                                   ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:735:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4i>
                                   ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:758:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet2d>
                                   ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:772:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4f,4>& kernel) {
                                  ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:777:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet2d,2>& kernel) {
                                  ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:784:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4i,4>& kernel) {
                                  ^

CUDA Half errors

When I try to compile a file with nvcc that contains the Eigen headers I get the following errors

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(96): error: identifier "x" is undefined

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(138): error: identifier "x" is undefined

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(138): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(223): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(223): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(276): error: class "__half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(372): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(378): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(387): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(387): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(571): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(571): error: class "Eigen::half" has no member "x"

/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/CUDA/Half.h(603): error: class "Eigen::half" has no member "x"

Any insight to why this would be. I thought CUDA 9.0 support was available as noted in this previous pull request. I am using 9.1 at the moment. Perhaps something between the source and this is different?

Use -Wno-ignored-attributes

Hi,

This is not really an issue with RcppEigen, but I am not sure where would be the appropriate place to discuss the following.

I'm working on a mac, and, since update 0.3.3.4.0, I get hundreds of the ignoring attributes on template argument warnings whenever I compile a package relying on (Rcpp)Eigen.

This is notably the case with a package that I develop. In this case, there are so many warnings that I have to wait around for 5-10mn every time I try to compile (versus <1mn using -Wno-ignored-attributes)

Hence, we added PKG_CXXFLAGS = -Wno-ignored-attributes to our Makevars in the dev branch, and we are now ready for a new release, but, when running the cran checks, we get:

checking compilation flags in Makevars ... WARNING
Non-portable flags in variable 'PKG_CXXFLAGS':
  -Wno-ignored-attributes

checking compilation flags used ... WARNING
Compilation used the following non-portable flag(s):
  ‘-Wno-ignored-attributes’
including flag(s) suppressing warnings

What is the appropriate way to deal with this issue?

Error while building from source

I'm unable to build RcppEigen from source on Mac OS X 10.9.5 with R 3.3.3 version and custom makevars file...

> install.packages("RcppEigen", type = "source")
trying URL 'https://cran.rstudio.com/src/contrib/RcppEigen_0.3.3.4.0.tar.gz'
Content type 'unknown' length 1631870 bytes (1.6 MB)
==================================================
downloaded 1.6 MB

* installing *source* packageRcppEigen...
** packageRcppEigensuccessfully unpacked and MD5 sums checked
** libs
/usr/local/bin/g++-6 -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG  -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -I"/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Rcpp/include"  -fopenmp -fPIC  -Wall -mtune=core2 -g -O2  -c RcppEigen.cpp -o RcppEigen.o
RcppEigen.cpp:22:23: fatal error: RcppEigen.h: No such file or directory
 #include <RcppEigen.h>
                       ^
compilation terminated.
make: *** [RcppEigen.o] Error 1
ERROR: compilation failed for packageRcppEigen* removing/Library/Frameworks/R.framework/Versions/3.3/Resources/library/RcppEigen* restoring previous/Library/Frameworks/R.framework/Versions/3.3/Resources/library/RcppEigenWarning in install.packages :
  installation of packageRcppEigenhad non-zero exit status

makevars has following settings if it matters:

CC=/usr/local/bin/gcc-6
CXX=/usr/local/bin/g++-6
CXX1X=/usr/local/bin/g++-6
CXX11=/usr/local/bin/g++-6
SHLIB_CXXLD=/usr/local/bin/g++-6
FC=/usr/local/bin/gfortran-6
F77=/usr/local/bin/gfortran-6
MAKE=make -j8

SHLIB_OPENMP_CFLAGS=-fopenmp
SHLIB_OPENMP_CXXFLAGS=-fopenmp
SHLIB_OPENMP_FCFLAGS=-fopenmp
SHLIB_OPENMP_FFLAGS=-fopenmp

What may be wrong?

3.5.1 issues?

I'm trying to figure out if I'm missing a library that is causing a massive number of warnings (many pages of them), or whether we can ignore them. I'm using a Debian stretch based build (rocker/shiny). Many of them look like below.

g++  -I"/usr/local/lib/R/include" -DNDEBUG -I../inst/include -I"/usr/local/lib/R/site-library/Rcpp/include" -I"/usr/local/lib/R/site-library/RcppEigen/include" -I/usr/local/include   -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c eigs_gen.cpp -o eigs_gen.o
In file included from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Core:388:0,
                 from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Dense:1,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigenForward.h:30,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigen.h:25,
                 from eigs_gen.cpp:1:
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:60:39: warning: ignoring attributes on template argument ‘__m128 {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128>  { enum { value = true }; };
                                       ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:61:40: warning: ignoring attributes on template argument ‘__m128i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128i> { enum { value = true }; };
                                        ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:62:40: warning: ignoring attributes on template argument ‘__m128d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128d> { enum { value = true }; };
                                        ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:161:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4, alignment=Aligned16}; typedef Packet4f half; };
                                           ^
In file included from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Core:388:0,
                 from /usr/local/lib/R/site-library/RcppEigen/include/Eigen/Dense:1,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigenForward.h:30,
                 from /usr/local/lib/R/site-library/RcppEigen/include/RcppEigen.h:25,
                 from eigs_gen.cpp:1:
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:162:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet2d> { typedef double type; enum {size=2, alignment=Aligned16}; typedef Packet2d half; };
                                           ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:163:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4, alignment=Aligned16}; typedef Packet4i half; };
                                           ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:712:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4f>
                                   ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:735:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4i>
                                   ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:758:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet2d>
                                   ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:772:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4f,4>& kernel) {
                                  ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:777:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet2d,2>& kernel) {
                                  ^
/usr/local/lib/R/site-library/RcppEigen/include/Eigen/src/Core/arch/SSE/PacketMath.h:784:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4i,4>& kernel) {
                                  ^

Compilation failed on R-devel

docker run -it --net=host rocker/drd R
install.packages("RcppEigen")
#...
#trying URL 'https://cran.rstudio.com/src/contrib/Rcpp_0.12.3.tar.gz'
#...
#trying URL 'https://cran.rstudio.com/src/contrib/RcppEigen_0.3.2.8.1.tar.gz'
#...
#/usr/bin/ld: cannot find -llapack
#/usr/bin/ld: cannot find -lblas
#collect2: error: ld returned 1 exit status
#/usr/share/R/share/make/shlib.mk:6: recipe for target 'RcppEigen.so' failed
#make: *** [RcppEigen.so] Error 1
#ERROR: compilation failed for package ‘RcppEigen’

Long vectors are not supported

Triggered by this SO question: https://stackoverflow.com/questions/50504929/rcppeigen-cannot-return-matrix-to-r-with-more-than-231-elements

Does it make sense to revisit #10 now that Rcpp supports long vectors? Example:

 // [[Rcpp::depends(RcppEigen)]]
#include <RcppEigen.h>

// [[Rcpp::export]]
void get_length_rcpp(Rcpp::IntegerMatrix m){
  Rcpp::Rcout << m.nrow() << ' ' << m.ncol() << ' ' 
              << (m.nrow() * m.ncol()) << ' ' << m.size(); 
}

// [[Rcpp::export]]
void get_length_eigen(Eigen::Map<Eigen::MatrixXi> m){
  Rcpp::Rcout << m.rows() << ' ' << m.cols() << ' ' 
              << (m.rows() * m.cols()) << ' ' << m.size(); 
}

/*** R
N <- 5e4
A <- matrix(1L, ncol = N, nrow = N)
get_length_rcpp(A)
get_length_eigen(A)
*/

Output:

> N <- 50000

> A <- matrix(1, ncol = N, nrow = N)

> get_length_rcpp(A)
50000 50000 -1794967296 2500000000
> get_length_eigen(A)
Error in get_length_eigen(A) : 
  long vectors not supported yet: ../../src/include/Rinlinedfuns.h:519
Calls: <Anonymous> ... withVisible -> eval -> eval -> get_length_eigen -> .Call
Execution halted

I am using RcppEigen 0.3.3.4.0 with R 3.5.0.

RcppEigen won't load on RHEL 6 with Devtoolset-6

I have Devtoolset-6 installed on my RHEL 6 workstation, so that I have access to a relatively newer version of GCC, in this case, version 6.3.1, than I would have otherwise. I successfully compiled and installed R with it. However, installing RcppEigen fails.

I've tried installed RcppEigen in the usual way, via install.packages(), and this is what I get as output:

* installing *source* package ‘RcppEigen’ ...
** package ‘RcppEigen’ successfully unpacked and MD5 sums checked
** libs
g++  -I/data/Projects/R/3.4.1/lib64/R/include -DNDEBUG  -I"/data/Projects/R/3.4.1/lib64/R/library/Rcpp/include" -I/data/Projects/R/ExtDeps/Bzip2-1.0.6/include -I/data/Projects/R/ExtDeps/Curl-7.55.1/include -I/data/Projects/R/ExtDeps/Pcre-8.41/include -I/data/Projects/R/ExtDeps/Readline-7.0-master-20170918/include -I/data/Projects/R/ExtDeps/Xz-5.2.3/include -I/data/Projects/R/ExtDeps/Zlib-1.2.11/include  -I../inst/include -fpic  -g -O2  -c RcppEigen.cpp -o RcppEigen.o
g++  -I/data/Projects/R/3.4.1/lib64/R/include -DNDEBUG  -I"/data/Projects/R/3.4.1/lib64/R/library/Rcpp/include" -I/data/Projects/R/ExtDeps/Bzip2-1.0.6/include -I/data/Projects/R/ExtDeps/Curl-7.55.1/include -I/data/Projects/R/ExtDeps/Pcre-8.41/include -I/data/Projects/R/ExtDeps/Readline-7.0-master-20170918/include -I/data/Projects/R/ExtDeps/Xz-5.2.3/include -I/data/Projects/R/ExtDeps/Zlib-1.2.11/include  -I../inst/include -fpic  -g -O2  -c RcppExports.cpp -o RcppExports.o
g++  -I/data/Projects/R/3.4.1/lib64/R/include -DNDEBUG  -I"/data/Projects/R/3.4.1/lib64/R/library/Rcpp/include" -I/data/Projects/R/ExtDeps/Bzip2-1.0.6/include -I/data/Projects/R/ExtDeps/Curl-7.55.1/include -I/data/Projects/R/ExtDeps/Pcre-8.41/include -I/data/Projects/R/ExtDeps/Readline-7.0-master-20170918/include -I/data/Projects/R/ExtDeps/Xz-5.2.3/include -I/data/Projects/R/ExtDeps/Zlib-1.2.11/include  -I../inst/include -fpic  -g -O2  -c fastLm.cpp -o fastLm.o
gcc -I/data/Projects/R/3.4.1/lib64/R/include -DNDEBUG  -I"/data/Projects/R/3.4.1/lib64/R/library/Rcpp/include" -I/data/Projects/R/ExtDeps/Bzip2-1.0.6/include -I/data/Projects/R/ExtDeps/Curl-7.55.1/include -I/data/Projects/R/ExtDeps/Pcre-8.41/include -I/data/Projects/R/ExtDeps/Readline-7.0-master-20170918/include -I/data/Projects/R/ExtDeps/Xz-5.2.3/include -I/data/Projects/R/ExtDeps/Zlib-1.2.11/include   -fpic  -g -O2  -c init.c -o init.o
g++ -shared -L/data/Projects/R/3.4.1/lib64/R/lib -L/data/Projects/R/ExtDeps/Bzip2-1.0.6/lib -Wl,-rpath=/data/Projects/R/ExtDeps/Bzip2-1.0.6/lib -L/data/Projects/R/ExtDeps/Curl-7.55.1/lib -Wl,-rpath=/data/Projects/R/ExtDeps/Curl-7.55.1/lib -L/data/Projects/R/ExtDeps/Pcre-8.41/lib -Wl,-rpath=/data/Projects/R/ExtDeps/Pcre-8.41/lib -L/data/Projects/R/ExtDeps/Readline-7.0-master-20170918/lib -Wl,-rpath=/data/Projects/R/ExtDeps/Readline-7.0-master-20170918/lib -L/data/Projects/R/ExtDeps/Xz-5.2.3/lib -Wl,-rpath=/data/Projects/R/ExtDeps/Xz-5.2.3/lib -L/data/Projects/R/ExtDeps/Zlib-1.2.11/lib -Wl,-rpath=/data/Projects/R/ExtDeps/Zlib-1.2.11/lib -o RcppEigen.so RcppEigen.o RcppExports.o fastLm.o init.o -L/data/Projects/R/3.4.1/lib64/R/lib -lRlapack -L/data/Projects/R/3.4.1/lib64/R/lib -lRblas -L/usr/lib/gcc/x86_64-redhat-linux/4.4.4 -lgfortran -lm -L/data/Projects/R/3.4.1/lib64/R/lib -lR
installing to /data/Projects/R/3.4.1/lib64/R/library/RcppEigen/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error: package or namespace load failed for ‘RcppEigen’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/data/Projects/R/3.4.1/lib64/R/library/RcppEigen/libs/RcppEigen.so':
  /data/Projects/R/3.4.1/lib64/R/library/RcppEigen/libs/RcppEigen.so: undefined symbol: _ZNSt16invalid_argumentC1EPKc
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/data/Projects/R/3.4.1/lib64/R/library/RcppEigen’

Offhand, it looks like I can successfully compile RcppEigen, but there's some problem in the linking process, so that the library containing invalid_argument (probably std::invalid_argument) isn't being linked to.

RcppEigen build failure

hi dirk,

(insert disclaimer that this may not be the right place to ask these sorts of questions, but i couldn't find anything that seemed more appropriate).

i'm building RcppEigen as part of a flatpak project, but i'm running into a failure with the newer (19.08) sdk. it worked with the older (18.08) sdk. however, i'm not getting any sort of error message to figure out what's going awry.

does this point to it being a host issue? i.e. perhaps its hitting a memory limit? or is my configuration at fault here?

here's the log (the rcppeigen stuff begins at line 4366):

https://ci.appveyor.com/project/jonathon-love/jamovi-library/build/job/ct4m2itq5hpvfs75?fullLog=true

with thanks

installation failure in ubuntu 18.04 and R 3.6.1

0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:179:55: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
>::type PacketReturnType;
^~~~~~~~~~~~~~~~
In file included from ../inst/include/Eigen/Core:440:0,
from ../inst/include/Eigen/Dense:1,
from ../inst/include/RcppEigenForward.h:30,
from ../inst/include/RcppEigen.h:25,
from fastLm.h:25,
from fastLm.cpp:23:
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Matrix<double, -1, -1, 1, -1, -1>, -1, -1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Matrix<double, -1, -1, 1, -1, -1>, -1, -1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1, 1, -1, -1>, -1, -1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1, 1, -1, -1>, -1, -1, false> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, 1>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1, 1, -1, -1>, -1, -1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, 1>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Matrix<double, -1, -1, 1, -1, -1>, -1, -1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::TriangularView<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 2>, Eigen::Matrix<double, -1, -1, 0, -1, 1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Householder/BlockHouseholder.h:94:19: required from ‘void Eigen::internal::apply_block_householder_on_the_left(MatrixType&, const VectorsType&, const CoeffsType&, bool) [with MatrixType = Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:333:46: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&, Workspace&) const [with Dest = Eigen::Matrix<double, -1, 1>; Workspace = Eigen::Matrix<double, 1, 1, 1, 1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:308:25: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&) const [with Dest = Eigen::Matrix<double, -1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:360:25: required from ‘typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::operator*(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1; typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type = Eigen::Matrix<double, -1, 1>]’
fastLm.cpp:101:67: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
enum {
^
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, -1, -1, true> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, -1, -1, true> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, -1, -1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, -1, -1, true> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, 1>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, -1, -1, true> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, 1>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, -1, -1, true> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: [ skipping 15 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::TriangularView<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, 1>, Eigen::Matrix<double, -1, -1, 0, -1, 1>, 0>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Householder/BlockHouseholder.h:95:19: required from ‘void Eigen::internal::apply_block_householder_on_the_left(MatrixType&, const VectorsType&, const CoeffsType&, bool) [with MatrixType = Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:333:46: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&, Workspace&) const [with Dest = Eigen::Matrix<double, -1, 1>; Workspace = Eigen::Matrix<double, 1, 1, 1, 1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:308:25: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&) const [with Dest = Eigen::Matrix<double, -1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:360:25: required from ‘typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::operator*(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1; typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type = Eigen::Matrix<double, -1, 1>]’
fastLm.cpp:101:67: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ../inst/include/Eigen/Core:434:0,
from ../inst/include/Eigen/Dense:1,
from ../inst/include/RcppEigenForward.h:30,
from ../inst/include/RcppEigen.h:25,
from fastLm.h:25,
from fastLm.cpp:23:
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false>, 0>’:
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >’
../inst/include/Eigen/src/Core/Block.h:172:103: required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false, false>’
../inst/include/Eigen/src/Core/Block.h:154:7: required from ‘class Eigen::BlockImpl<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false, Eigen::Dense>’
../inst/include/Eigen/src/Core/Block.h:103:81: required from ‘class Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false>’
../inst/include/Eigen/src/Core/ProductEvaluators.h:563:28: [ skipping 17 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
>::type PacketReturnType;
^~~~~~~~~~~~~~~~
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, 0>’:
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> > >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> > >’
../inst/include/Eigen/src/Core/Transpose.h:115:37: required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false>, Eigen::Dense>’
../inst/include/Eigen/src/Core/Transpose.h:52:37: required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >’
../inst/include/Eigen/src/Core/ProductEvaluators.h:563:40: required from ‘const CoeffReturnType Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::coeff(Eigen::Index) const [with Lhs = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >; Rhs = Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >; int ProductTag = 4; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Rhs>::Scalar = double; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Lhs>::Scalar = double; Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::CoeffReturnType = double; Eigen::Index = long int]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:637:5: [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, const Eigen::Block<const Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >, 1, 1, false> >, 0>’:
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, const Eigen::Block<const Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >, 1, 1, false> > >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, const Eigen::Block<const Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >, 1, 1, false> > >’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:148:7: required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, const Eigen::Block<const Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >, 1, 1, false>, Eigen::Dense>’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:77:7: required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, const Eigen::Block<const Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >, 1, 1, false> >’
../inst/include/Eigen/src/Core/ProductEvaluators.h:563:72: required from ‘const CoeffReturnType Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::coeff(Eigen::Index) const [with Lhs = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >; Rhs = Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >; int ProductTag = 4; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Rhs>::Scalar = double; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Lhs>::Scalar = double; Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::CoeffReturnType = double; Eigen::Index = long int]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:637:5: [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ../inst/include/Eigen/Core:440:0,
from ../inst/include/Eigen/Dense:1,
from ../inst/include/RcppEigenForward.h:30,
from ../inst/include/RcppEigen.h:25,
from fastLm.h:25,
from fastLm.cpp:23:
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Householder/BlockHouseholder.h:67:33: required from ‘void Eigen::internal::make_block_householder_triangular_factor(TriangularFactorType&, const VectorsType&, const CoeffsType&) [with TriangularFactorType = Eigen::Matrix<double, -1, -1, 1, -1, -1>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/BlockHouseholder.h:85:55: required from ‘void Eigen::internal::apply_block_householder_on_the_left(MatrixType&, const VectorsType&, const CoeffsType&, bool) [with MatrixType = Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:333:46: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&, Workspace&) const [with Dest = Eigen::Matrix<double, -1, 1>; Workspace = Eigen::Matrix<double, 1, 1, 1, 1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:308:25: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&) const [with Dest = Eigen::Matrix<double, -1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:360:25: required from ‘typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::operator*(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1; typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type = Eigen::Matrix<double, -1, 1>]’
fastLm.cpp:101:67: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
enum {
^
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false> >’:
../inst/include/Eigen/src/Core/AssignEvaluator.h:736:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>; Src = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Func = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>; Src = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Func = Eigen::internal::sub_assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:164:18: required from ‘Derived& Eigen::MatrixBase::operator-=(const Eigen::MatrixBase&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false> >; Derived = Eigen::Block<Eigen::Transpose<Eigen::Matrix<double, 1, -1> >, -1, 1, false>]’
../inst/include/Eigen/src/Core/products/TriangularMatrixVector.h:282:27: [ skipping 13 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Householder/BlockHouseholder.h:67:33: required from ‘void Eigen::internal::make_block_householder_triangular_factor(TriangularFactorType&, const VectorsType&, const CoeffsType&) [with TriangularFactorType = Eigen::Matrix<double, -1, -1, 1, -1, -1>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/BlockHouseholder.h:85:55: required from ‘void Eigen::internal::apply_block_householder_on_the_left(MatrixType&, const VectorsType&, const CoeffsType&, bool) [with MatrixType = Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:333:46: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&, Workspace&) const [with Dest = Eigen::Matrix<double, -1, 1>; Workspace = Eigen::Matrix<double, 1, 1, 1, 1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:308:25: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&) const [with Dest = Eigen::Matrix<double, -1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:360:25: required from ‘typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::operator*(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1; typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type = Eigen::Matrix<double, -1, 1>]’
fastLm.cpp:101:67: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: required from ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> >, const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, -1, true> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: [ skipping 16 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, -1, 1, false> >’:
../inst/include/Eigen/src/Core/AssignEvaluator.h:736:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Map<const Eigen::Matrix<double, -1, -1>, 0, Eigen::OuterStride<> >, -1, 1, true>, -1, 1, false> >; Functor = Eigen::internal::add_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Map<const Eigen::Matrix<double, -1, -1>, 0, Eigen::OuterStride<> >, -1, 1, true>, -1, 1, false> >; Functor = Eigen::internal::add_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, -1, 1, false>; Src = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Map<const Eigen::Matrix<double, -1, -1>, 0, Eigen::OuterStride<> >, -1, 1, true>, -1, 1, false> >; Func = Eigen::internal::add_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Block<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, -1, 1, false>; Src = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Map<const Eigen::Matrix<double, -1, -1>, 0, Eigen::OuterStride<> >, -1, 1, true>, -1, 1, false> >; Func = Eigen::internal::add_assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:177:18: required from ‘Derived& Eigen::MatrixBase::operator+=(const Eigen::MatrixBase&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Map<const Eigen::Matrix<double, -1, -1>, 0, Eigen::OuterStride<> >, -1, 1, true>, -1, 1, false> >; Derived = Eigen::Block<Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, -1, 1, false>]’
../inst/include/Eigen/src/Core/products/TriangularMatrixVector.h:66:28: [ skipping 14 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Householder/BlockHouseholder.h:67:33: required from ‘void Eigen::internal::make_block_householder_triangular_factor(TriangularFactorType&, const VectorsType&, const CoeffsType&) [with TriangularFactorType = Eigen::Matrix<double, -1, -1, 1, -1, -1>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/BlockHouseholder.h:85:55: required from ‘void Eigen::internal::apply_block_householder_on_the_left(MatrixType&, const VectorsType&, const CoeffsType&, bool) [with MatrixType = Eigen::Block<Eigen::Matrix<double, -1, 1>, -1, -1, false>; VectorsType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; CoeffsType = Eigen::VectorBlock<const Eigen::Matrix<double, -1, 1>, -1>]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:333:46: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&, Workspace&) const [with Dest = Eigen::Matrix<double, -1, 1>; Workspace = Eigen::Matrix<double, 1, 1, 1, 1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:308:25: required from ‘void Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::applyThisOnTheLeft(Dest&) const [with Dest = Eigen::Matrix<double, -1, 1>; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1]’
../inst/include/Eigen/src/Householder/HouseholderSequence.h:360:25: required from ‘typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type Eigen::HouseholderSequence<VectorsType, CoeffsType, Side>::operator*(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >; VectorsType = Eigen::Matrix<double, -1, -1>; CoeffsType = Eigen::Matrix<double, -1, 1>; int Side = 1; typename Eigen::internal::matrix_type_times_scalar_type<typename Eigen::internal::traits<Eigen::HouseholderSequence<VectorsType, CoeffsType, Side> >::Scalar, OtherDerived>::Type = Eigen::Matrix<double, -1, 1>]’
fastLm.cpp:101:67: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:269:8: required from ‘struct Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, Eigen::internal::IndexBased, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:90:8: required from ‘struct Eigen::internal::evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> > >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> > >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, 1, false> >, 1, 1, false> >, const Eigen::Block<const Eigen::Map<Eigen::Matrix<double, 1, 1, 1, 1, 1>, 0, Eigen::Stride<0, 0> >, 1, 1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: required from ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:269:8: required from ‘struct Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> >, Eigen::internal::IndexBased, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:90:8: required from ‘struct Eigen::internal::evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: [ skipping 33 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:269:8: required from ‘struct Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> >, Eigen::internal::IndexBased, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:90:8: required from ‘struct Eigen::internal::evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: [ skipping 31 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >, -1, 1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >, -1, 1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Transpose<Eigen::Block<Eigen::Block<Eigen::Matrix<double, -1, -1, 1, -1, -1>, 1, -1, true>, 1, -1, false> >, -1, 1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, 1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, -1> >, const Eigen::Transpose<const Eigen::Block<const Eigen::Block<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false>, -1, 1, true>, -1, 1, false> > > >, -1, 1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >, -1, -1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >, -1, -1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >, -1, -1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >, -1, -1, false> > >’
../inst/include/Eigen/src/Core/AssignEvaluator.h:730:20: required from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, 1>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >, -1, -1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:879:31: required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, 1>, -1, -1, true>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1, 1, -1, -1> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Block<Eigen::Block<const Eigen::Matrix<double, -1, -1>, -1, -1, true>, -1, -1, false> >, -1, -1, false> >; Functor = Eigen::internal::sub_assign_op<double, double>; Weak = void]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: [ skipping 18 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/AssignEvaluator.h:836:49: required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Solve<Eigen::HouseholderQR<Eigen::Matrix<double, -1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> > >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:114:41: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ../inst/include/Eigen/Core:434:0,
from ../inst/include/Eigen/Dense:1,
from ../inst/include/RcppEigenForward.h:30,
from ../inst/include/RcppEigen.h:25,
from fastLm.h:25,
from fastLm.cpp:23:
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 0>’:
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:478:7: required from ‘class Eigen::DenseCoeffsBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, 2>’
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> > >’
../inst/include/Eigen/src/Core/Transpose.h:115:37: required from ‘class Eigen::TransposeImpl<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false>, Eigen::Dense>’
../inst/include/Eigen/src/Core/Transpose.h:52:37: required from ‘class Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >’
../inst/include/Eigen/src/Core/ProductEvaluators.h:552:40: [ skipping 21 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:160:36: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
>::type PacketReturnType;
^~~~~~~~~~~~~~~~
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false>, 0>’:
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:478:7: required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false>, 2>’
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >’
../inst/include/Eigen/src/Core/MapBase.h:37:34: required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false>, 0>’
../inst/include/Eigen/src/Core/Block.h:329:7: required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false, true>’
../inst/include/Eigen/src/Core/Block.h:154:7: [ skipping 23 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:160:36: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >, 0>’:
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:148:7: required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false>, Eigen::Dense>’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:77:7: required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >’
../inst/include/Eigen/src/Core/ProductEvaluators.h:552:72: required from ‘const CoeffReturnType Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::coeff(Eigen::Index, Eigen::Index) const [with Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >; int ProductTag = 8; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Rhs>::Scalar = double; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Lhs>::Scalar = double; Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::CoeffReturnType = double; Eigen::Index = long int]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:631:5: [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:160:36: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false>, 0>’:
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:478:7: required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false>, 2>’
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >’
../inst/include/Eigen/src/Core/MapBase.h:37:34: required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false>, 0>’
../inst/include/Eigen/src/Core/Block.h:329:7: required from ‘class Eigen::internal::BlockImpl_dense<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false, true>’
../inst/include/Eigen/src/Core/Block.h:154:7: [ skipping 23 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:179:55: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
../inst/include/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >, 0>’:
../inst/include/Eigen/src/Core/DenseBase.h:41:34: required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:148:7: required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false>, Eigen::Dense>’
../inst/include/Eigen/src/Core/CwiseBinaryOp.h:77:7: required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >’
../inst/include/Eigen/src/Core/ProductEvaluators.h:552:72: required from ‘const CoeffReturnType Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::coeff(Eigen::Index, Eigen::Index) const [with Lhs = Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>; Rhs = Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >; int ProductTag = 8; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Rhs>::Scalar = double; typename Eigen::internal::traits<typename Eigen::Product<Lhs, Rhs, 1>::Lhs>::Scalar = double; Eigen::internal::product_evaluator<Eigen::Product<Lhs, Rhs, 1>, ProductTag, Eigen::DenseShape, Eigen::DenseShape>::CoeffReturnType = double; Eigen::Index = long int]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:631:5: [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:179:55: required from here
../inst/include/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ../inst/include/Eigen/Core:440:0,
from ../inst/include/Eigen/Dense:1,
from ../inst/include/RcppEigenForward.h:30,
from ../inst/include/RcppEigen.h:25,
from fastLm.h:25,
from fastLm.cpp:23:
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/Redux.h:349:39: required from ‘class Eigen::internal::redux_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/Redux.h:416:17: required from ‘typename Eigen::internal::traits::Scalar Eigen::DenseBase::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, -1, 1, false> >; typename Eigen::internal::traits::Scalar = double]’
../inst/include/Eigen/src/Core/Redux.h:453:73: [ skipping 22 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:160:36: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
enum {
^
../inst/include/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >’:
../inst/include/Eigen/src/Core/CoreEvaluators.h:99:8: required from ‘struct Eigen::internal::evaluator<const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >’
../inst/include/Eigen/src/Core/CoreEvaluators.h:681:51: required from ‘struct Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >, Eigen::internal::IndexBased, Eigen::internal::IndexBased, double, double>’
../inst/include/Eigen/src/Core/CoreEvaluators.h:665:8: required from ‘struct Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/Redux.h:349:39: required from ‘class Eigen::internal::redux_evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> > >’
../inst/include/Eigen/src/Core/Redux.h:416:17: required from ‘typename Eigen::internal::traits::Scalar Eigen::DenseBase::redux(const Func&) const [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::Transpose<const Eigen::Block<const Eigen::Matrix<double, -1, -1>, 1, -1, false> >, const Eigen::Block<const Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, -1, 1, false> >; typename Eigen::internal::traits::Scalar = double]’
../inst/include/Eigen/src/Core/Redux.h:453:73: [ skipping 22 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
../inst/include/Eigen/src/Core/Matrix.h:296:31: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:796:41: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Func = Eigen::internal::assign_op<double, double>; typename Eigen::internal::enable_if<Eigen::internal::evaluator_assume_aliasing::value, void*>::type = void*]’
../inst/include/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>]’
../inst/include/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; Derived = Eigen::Matrix<double, -1, 1>]’
../inst/include/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Product<Eigen::Product<Eigen::Product<Eigen::Matrix<double, -1, -1>, Eigen::Transpose<const Eigen::Matrix<double, -1, -1> >, 0>, Eigen::Transpose<const Eigen::Map<Eigen::Matrix<double, -1, -1>, 0, Eigen::Stride<0, 0> > >, 0>, Eigen::Map<Eigen::Matrix<double, -1, 1>, 0, Eigen::Stride<0, 0> >, 0>; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’
fastLm.cpp:179:55: required from here
../inst/include/Eigen/src/Core/CoreEvaluators.h:960:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits::type {aka __vector(2) double}’ [-Wignored-attributes]
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-7/README.Bugs for instructions.
/usr/lib/R/etc/Makeconf:176: recipe for target 'fastLm.o' failed
make: *** [fastLm.o] Error 4
ERROR: compilation failed for package ‘RcppEigen’

  • removing ‘/home/shiny/R/x86_64-pc-linux-gnu-library/3.6/RcppEigen’

The downloaded source packages are in
‘/tmp/RtmpgazH5L/downloaded_packages’
Warning message:
In install.packages("RcppEigen") :
installation of package ‘RcppEigen’ had non-zero exit status

Unable to create package with example_code = FALSE

The following command fails
RcppEigen::RcppEigen.package.skeleton(example_code = FALSE)
with

Calling kitten to create basic package.
Error in (function (name = "anRpackage", path = ".", author, maintainer, : unused argument (example_code = FALSE)

Error in value[3L] : error while calling kitten

It fails only if pkgKitten is installed

DT_DIR not defined

Hi

When trying to install another R package on cygwin I ran into the error:
path/to/R/library/RcppEigen/include/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h:182:34: error: ‘DT_DIR’ was not declared in this scope

Which, according to the note on that line, was a foreseen issue..
Any hint on how to make this work?
Thanks!

Update Frequency?

I was wondering how often the 'newest' Eigen headers are ported in to this package? As what usually happens, I am dealing with GPU related problems and I noticed one pull request on the eigen bitbucket website that addressed the problem (quite minor in this case). I saw that it was merged back in May 2017 but the change isn't reflected in RcppEigen. Was a new 'official' release not provided by the Eigen authors perhaps?

I don't mean to push, as again this issue is quite minor in this instance. I am only curious how/when you decide to update the headers herein from the Eigen source.

updating to Eigen 3.2.7?

Hi!

Eigen 3.2.6 and 3.2.7 included some fixes for Intel MKL users (see changelog), such that an upgrade to 3.2.7 would be welcome.

Or what are plans to upgrade Eigen?

Thanks!

Bug in Eigen::SparseMatrix -> dgCMatrix conversion

I am using RcppEigen to compute the matrix X^T * X + lambda * I (as in ridge regression) where X is a sparse input matrix. I am able to compute X^T * X in Eigen, however there is an edge case for adding lambda * I. This step modifies the diagonal of the matrix X^T X. If the diagonal had a 0 in it, then you cannot add lambda. Under the hood, X^T * X returns a sparse matrix, so if there is a 0 on the diagonal there is no memory allocated that I can use to add.

In Eigen, the appropriate way to modify a value in a sparse matrix which may not exist yet is to use .insert. This produces valid Eigen code, but for some reason when the resulting matrix is brought back to R as a dgCMatrix I get the error:

Error in validObject(x) :
invalid class “dgCMatrix” object: last element of slot p must match length of slots i and x

Here is a reproducible example. I believe the relevant wrapper code in RcppEigen is here, though I don't know what the right solution is.

#include <Rcpp.h>
#include <RcppEigen.h>
// [[Rcpp::depends(RcppEigen)]]

using Eigen::Map;
using Eigen::MatrixXd;
using Eigen::VectorXd;
using Eigen::SparseMatrix;
using Eigen::MappedSparseMatrix;
using namespace Rcpp;
using namespace Eigen;

// [[Rcpp::export]]
Eigen::SparseMatrix<double> sparseCrossprod(const Eigen::MappedSparseMatrix<double>& X,
                                            const Eigen::VectorXd& l2penalty) {
  SparseMatrix<double> XtX = X.adjoint() * X;
  
  // R won't understand the returned matrix
  for (int i = 0; i < XtX.rows(); i++) {
    double value = XtX.coeff(i, i);
    Rcout << value << std::endl;
    if (value == 0) {
      XtX.insert(i, i) = 1;
    }
  }
  
  // This will crash
  // XtX += VectorXd::Ones(XtX.rows()).asDiagonal();
  
  // This will crash if there is a 0 on the diagonal
  //VectorXd diag(XtX.diagonal());
  //Rcout << diag << std::endl;
  //XtX.diagonal() = diag + l2penalty;
  
  return XtX;
}


/***R
require(Matrix)

k = 2
N = 100000 * k
p = 10
density = .1

X = cbind(1, rsparsematrix(N, p, density))
l2penalty = c(0, rep(1, p))

X[,5] = 0

foo = sparseCrossprod(X, l2penalty)
*/

RcppEigen.package.skeleton fails to find pkgKitten::kitten

Fixed in 512102, I can submit a pull request if you think this is adequate.

On Linux Mint 17.1, when calling RcppEigen.package.skeleton, I receive the following error:

Calling kitten to create basic package.
Error in value[[3L]](cond) : error while calling `kitten`

The original error message is not provided, but digging in a bit further it seemed that R couldn't find the "kitten" function, despite calling requireNamespace("pkgKitten"), as the pkgKitten namespace wasn't attached. The commit mentioned above stores skelFunUsed and skelFunName separately, instead of trying to infer the function from the name.

fail to install RcppEigen and ClusterProfiler

Dear Eddelbuettel,
I have just met a problem with RcppEigen installation and thus leading to failure of install ClusterProfiler in R studio of Centos 7.4 system on Tencent Cloud.
I was wondering if you could employ any spare time on this issue, and attached �.txt document is the error reports of whole process.

r studio-clusterprofiler.txt

> install.packages("RcppEigen")
Installing package into ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/RcppEigen_0.3.3.5.0.tar.gz'
Content type 'application/x-gzip' length 1633859 bytes (1.6 MB)
==================================================
downloaded 1.6 MB

* installing *source* package ‘RcppEigen’ ...
** package ‘RcppEigen’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG  -I"/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.6/Rcpp/include" -I/usr/local/include -I../inst/include -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c RcppEigen.cpp -o RcppEigen.o
g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG  -I"/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.6/Rcpp/include" -I/usr/local/include -I../inst/include -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c RcppExports.cpp -o RcppExports.o
g++ -m64 -std=gnu++11 -I"/usr/include/R" -DNDEBUG  -I"/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.6/Rcpp/include" -I/usr/local/include -I../inst/include -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c fastLm.cpp -o fastLm.o
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make: *** [fastLm.o] Error 4
ERROR: compilation failed for package ‘RcppEigen’
* removing ‘/home/rstudio/R/x86_64-redhat-linux-gnu-library/3.6/RcppEigen’
Warning in install.packages :
  installation of package ‘RcppEigen’ had non-zero exit status

The downloaded source packages are in
	‘/tmp/RtmpqUtSXk/downloaded_packages’

Eigen 3.3.5

I noticed the latest stable release of Eigen 3.3.5 is available. When possible I would love to see RcppEigen updated as I believe the changes made in the recent release will address my previous concerns in #50.

install with R 3.2

Hi,
I am trying to install RcppEigen from Rstudio or R server with few RAM 512.
Thanks

Sys.info()
                                      sysname 
                                      "Linux" 
                                      release 
                          "3.13.0-57-generic" 
                                      version 
"#95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015" 
                                     nodename 
                           "CancerPortal.org" 
                                      machine 
                                     "x86_64" 
                                        login 
                                   "kmezhoud" 
                                         user 
                                   "kmezhoud" 
                               effective_user 
                                   "kmezhoud"  

I found some trouble with "Setting LC_CTYPE failed, using "C"". I set

sudo defaults write org.R-project.R force.LANG en_US.UTF-8

kmezhoud@CancerPortal:~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

From git

install_github("RcppCore/RcppEigen")
Downloading GitHub repo RcppCore/RcppEigen@master
Installing RcppEigen
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore CMD  \
  INSTALL '/tmp/Rtmpe7EGOC/devtools49ce5d7ba19/RcppCore-RcppEigen-2104c36'  \
  --library='/home/kmezhoud/R/x86_64-pc-linux-gnu-library/3.2'  \
  --install-tests 

During startup - Warning message:
Setting LC_CTYPE failed, using "C" 
* installing *source* package 'RcppEigen' ...
** libs
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c RcppEigen.cpp -o RcppEigen.o
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c RcppExports.cpp -o RcppExports.o
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c fastLm.cpp -o fastLm.o
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make: *** [fastLm.o] Error 4
ERROR: compilation failed for package 'RcppEigen'
* removing '/home/kmezhoud/R/x86_64-pc-linux-gnu-library/3.2/RcppEigen'
Error: Command failed (1)

From cran

> install.packages("RcppEigen")
Installing package into ‘/home/kmezhoud/R/x86_64-pc-linux-gnu-library/3.2’
(as ‘lib’ is unspecified)
--2015-11-01 07:02:58--  https://cran.rstudio.com/src/contrib/RcppEigen_0.3.2.5.1.tar.gz
Resolving cran.rstudio.com (cran.rstudio.com)... 54.230.184.187
Connecting to cran.rstudio.com (cran.rstudio.com)|54.230.184.187|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1235892 (1.2M) [application/x-gzip]
Saving to: ‘/tmp/RtmpRJfZ0o/downloaded_packages/RcppEigen_0.3.2.5.1.tar.gz’

     0K .......... .......... .......... .......... ..........  4% 4.28M 0s
    50K .......... .......... .......... .......... ..........  8% 4.02M 0s
   100K .......... .......... .......... .......... .......... 12% 4.38M 0s
   150K .......... .......... .......... .......... .......... 16% 4.29M 0s
   200K .......... .......... .......... .......... .......... 20% 4.89M 0s
   250K .......... .......... .......... .......... .......... 24% 5.00M 0s
   300K .......... .......... .......... .......... .......... 28% 30.2M 0s
   350K .......... .......... .......... .......... .......... 33% 3.97M 0s
   400K .......... .......... .......... .......... .......... 37% 28.0M 0s
   450K .......... .......... .......... .......... .......... 41% 4.92M 0s
   500K .......... .......... .......... .......... .......... 45% 5.47M 0s
   550K .......... .......... .......... .......... .......... 49% 14.4M 0s
   600K .......... .......... .......... .......... .......... 53% 29.9M 0s
   650K .......... .......... .......... .......... .......... 57% 4.38M 0s
   700K .......... .......... .......... .......... .......... 62% 46.1M 0s
   750K .......... .......... .......... .......... .......... 66%  130M 0s
   800K .......... .......... .......... .......... .......... 70% 5.19M 0s
   850K .......... .......... .......... .......... .......... 74% 45.9M 0s
   900K .......... .......... .......... .......... .......... 78% 5.23M 0s
   950K .......... .......... .......... .......... .......... 82% 36.7M 0s
  1000K .......... .......... .......... .......... .......... 86% 73.1M 0s
  1050K .......... .......... .......... .......... .......... 91%  138M 0s
  1100K .......... .......... .......... .......... .......... 95% 4.54M 0s
  1150K .......... .......... .......... .......... .......... 99% 43.9M 0s
  1200K ......                                                100%  111M=0.2s

2015-11-01 07:02:58 (7.75 MB/s) - ‘/tmp/RtmpRJfZ0o/downloaded_packages/RcppEigen_0.3.2.5.1.tar.gz’ saved [1235892/1235892]

* installing *source* package ‘RcppEigen’ ...
** package ‘RcppEigen’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c RcppEigen.cpp -o RcppEigen.o
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c RcppExports.cpp -o RcppExports.o
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g  -c fastLm.cpp -o fastLm.o
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make: *** [fastLm.o] Error 4
ERROR: compilation failed for package ‘RcppEigen’
* removing ‘/home/kmezhoud/R/x86_64-pc-linux-gnu-library/3.2/RcppEigen’
Warning in install.packages :
  installation of package ‘RcppEigen’ had non-zero exit status

Build logs

I'm running into an issue with a Travis CI Docker build that includes RcppEigen whereby the Travis log is filling up with build output from the package. You can see this by taking a look at the build output shown here.

I was running a command similar to the one below to install the package.

RUN install2.r --error \
    ...
    RcppEigen \
    ...

Is there a better way to install the package or suppress the build output?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.