Closed harryprince closed 8 years ago
I am trying to install ADMM on my centos server, it fails too.
Here is the bug.
* installing *source* package ?.DMM?.... ** libs g++ -I/usr/local/R/lib64/R/include -DNDEBUG -I/usr/local/include -I"/usr/local/R/lib64/R/library/Rcpp/include" -I"/usr/local/R/lib64/R/library/RcppEigen/include" -fopenmp -fpic -g -O2 -c BP.cpp -o BP.o g++ -I/usr/local/R/lib64/R/include -DNDEBUG -I/usr/local/include -I"/usr/local/R/lib64/R/library/Rcpp/include" -I"/usr/local/R/lib64/R/library/RcppEigen/include" -fopenmp -fpic -g -O2 -c Enet.cpp -o Enet.o In file included from Spectra/SymEigsSolver.h:20:0, from ADMMLassoTall.h:6, from ADMMEnet.h:4, from Enet.cpp:3: Spectra/LinAlg/TridiagEigen.h: In instantiation of ?.oid Spectra::TridiagEigen<Scalar>::compute(Spectra::TridiagEigen<Scalar>::ConstGenericMatrix&) [with Scalar = float; Spectra::TridiagEigen<Scalar>::ConstGenericMatrix = const Eigen::Ref<const Eigen::Matrix<float, -1, -1> >; typename Eigen::internal::conditional<const Eigen::Matrix<LhsScalar, -1, -1, 0>::IsVectorAtCompileTime, Eigen::InnerStride<1>, Eigen::OuterStride<> >::type = Eigen::OuterStride<>]?. Spectra/LinAlg/TridiagEigen.h:46:20: required from ?.pectra::TridiagEigen<Scalar>::TridiagEigen(Spectra::TridiagEigen<Scalar>::ConstGenericMatrix&) [with Scalar = float; Spectra::TridiagEigen<Scalar>::ConstGenericMatrix = const Eigen::Ref<const Eigen::Matrix<float, -1, -1> >; typename Eigen::internal::conditional<const Eigen::Matrix<LhsScalar, -1, -1, 0>::IsVectorAtCompileTime, Eigen::InnerStride<1>, Eigen::OuterStride<> >::type = Eigen::OuterStride<>]? Spectra/SymEigsSolver.h:308:42: required from ?.oid Spectra::SymEigsSolver<Scalar, SelectionRule, OpType>::retrieve_ritzpair() [with Scalar = float; int SelectionRule = 3; OpType = MatOpSymLower<float>]? Spectra/SymEigsSolver.h:514:27: required from ?.nt Spectra::SymEigsSolver<Scalar, SelectionRule, OpType>::compute(int, Scalar, int) [with Scalar = float; int SelectionRule = 3; OpType = MatOpSymLower<float>]? ADMMLassoTall.h:199:33: required from here Spectra/LinAlg/TridiagEigen.h:93:107: error: no matching function for call to ?.ridiagonal_qr_step(float*&, float*&, int&, int&, Eigen::PlainObjectBase<Eigen::Matrix<float, -1, -1> >::Scalar*, int&)? Eigen::internal::tridiagonal_qr_step<Eigen::ColMajor>(maind, subd, start, end, evecs.data(), n); ^ Spectra/LinAlg/TridiagEigen.h:93:107: note: candidate is: In file included from /usr/local/R/lib64/R/library/RcppEigen/include/Eigen/Eigenvalues:31:0, from /usr/local/R/lib64/R/library/RcppEigen/include/Eigen/Dense:7, from /usr/local/R/lib64/R/library/RcppEigen/include/RcppEigenForward.h:30, from /usr/local/R/lib64/R/library/RcppEigen/include/RcppEigen.h:25, from FADMMBase.h:4, from ADMMLassoTall.h:4, from ADMMEnet.h:4, from Enet.cpp:3: /usr/local/R/lib64/R/library/RcppEigen/include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:740:13: note: template<class RealScalar, class Scalar, class Index> void Eigen::internal::tridiagonal_qr_step(RealScalar*, RealScalar*, Index, Index, Scalar*, Index) static void tridiagonal_qr_step(RealScalar* diag, RealScalar* subdiag, Index start, Index end, Scalar* matrixQ, Index n) ^ /usr/local/R/lib64/R/library/RcppEigen/include/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:740:13: note: template argument deduction/substitution failed: make: *** [Enet.o] Error 1 ERROR: compilation failed for package ?.DMM? * removing ?.usr/local/R/lib64/R/library/ADMM? Error: Command failed (1)
Thanks for the report. I believe it's because ADMM contains an old version of the Spectra library, which is not compatible with the current version of Eigen. I'll fix it shortly.
ADMM
Spectra
Eigen
This has been fixed.
I am trying to install ADMM on my centos server, it fails too.
Here is the bug.