Open Ufungi opened 1 year ago
I tried with Eigen 3.3.7, but same error occurred..
This is my make check result (WSL2, Ubuntu 22.04.1) makecheck.txt
I think this program will be really helpful for my analysis.
I will really appreciate it if you could fix the problem.
Thank you.
I had the same problem installing with Eigen 3.4.0. Rolling back to Eigen 3.3.0 fixed the issue. I did not test with any other 3.3.x.
Dear Author,
Hi, I tried to install HmmUFOtu, but encountered error during installation. I think eigen occurred the problem.
I installed eigen 3.4.0 using the code below
wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2 tar xvf eigen-3.4.0.tar.bz2
cd eigen-3.4.0 mkdir build cd build cmake ./../ pkg-config --modversion eigen3
cd /usr/include sudo ln -sf eigen3/Eigen Eigen sudo ln -sf eigen3/unsupported unsupported
Installation of HmmUFOtu-1.5.1 occurred the error below.
~/HmmUFOtu-1.5.1$ make Making all in data make[1]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/data' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/data' Making all in src make[1]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src' Making all in libdivsufsort make[2]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort' make all-recursive make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort' Making all in lib make[4]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort/lib' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort/lib' Making all in examples make[4]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort/examples' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort/examples' make[4]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort' make[4]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort' make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort' make[2]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libdivsufsort' Making all in libcds make[2]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds' Making all in src make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/src' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/src' Making all in tests make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/tests' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/tests' Making all in tutorial/src make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/tutorial/src' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/tutorial/src' Making all in tutorial/ssa make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/tutorial/ssa' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds/tutorial/ssa' make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds' make[2]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/libcds' Making all in util make[2]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/util' make all-am make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/util' make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/util' make[2]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/util' Making all in math make[2]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/math' make all-am make[3]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src/math' make[3]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/math' make[2]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src/math' make[2]: Entering directory '/home/snyoo/HmmUFOtu-1.5.1/src' g++ -DPACKAGE_NAME=\"HmmUFOtu\" -DPACKAGE_TARNAME=\"hmmufotu\" -DPACKAGE_VERSION=\"1.5.1\" -DPACKAGE_STRING=\"HmmUFOtu\ 1.5.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_STDINT_H=1 -DHAVE__BOOL=1 -DPACKAGE=\"hmmufotu\" -DVERSION=\"1.5.1\" -DHAVE_ISNAN=1 -DHAVE_STRERROR=1 -DHAVE_LIBZ=1 -DHAVE_BOOST=/**/ -DHAVE_BOOST_IOSTREAMS=/**/ -I. -I/usr/include -fopenmp -I/usr/include -I/usr/include -I../src -I../src/util -I../src/math -I../src/libdivsufsort/include -I../src/libcds/include -I/usr/include -fopenmp -g -O2 -MT hmmufotu.o -MD -MP -MF .deps/hmmufotu.Tpo -c -o hmmufotu.o hmmufotu.cpp
~~~~~~~~^~~~~~~~~~~~~ ^~~In file included from /usr/include/Eigen/Core:19, from /usr/include/Eigen/Dense:1, from MSA.h:33, from HmmUFOtu_common.h:43, from HmmUFOtu.h:29, from hmmufotu.cpp:28: /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:27:1: note: candidate: ‘template const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<typename Eigen::internal::traits::Scalar, typename Eigen::internal::traits::Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::operator+(const Eigen::MatrixBase&) const [with OtherDerived = OtherDerived; Derived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, double>, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base> >, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, double> >, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base> >, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double> >]’
27 | EIGEN_MAKE_CWISE_BINARY_OP(operator+,sum)
| ^’ and ‘const double’
166 | double q = (D(A,C) + D(A,T) + D(C,A) + D(C,G) + D(G,C) + D(G,T) + D(T,A) + D(T,G)) / N; / observed Tv diff /
| ^
In file included from HmmUFOtu_common.h:39,
from HmmUFOtu.h:29,
from hmmufotu.cpp:28:
DigitalSeq.h:206:19: note: candidate: ‘EGriceLab::HmmUFOtu::DigitalSeq EGriceLab::HmmUFOtu::operator+(const EGriceLab::HmmUFOtu::DigitalSeq&, const EGriceLab::HmmUFOtu::DigitalSeq&)’
206 | inline DigitalSeq operator+(const DigitalSeq& lhs, const DigitalSeq& rhs) {
| ^::Scalar, typename Eigen::internal::traits::Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::operator+(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double>; Derived = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base>; typename Eigen::internal::traits::Scalar = double; typename Eigen::internal::traits::Scalar = double]’
HKY85.h:165:28: required from here
/usr/include/Eigen/src/Core/util/Meta.h:479:51: error: request for member ‘size’ in ‘x’, which is of non-class type ‘const double’
479 | EIGEN_CONSTEXPR Index size(const T& x) { return x.size(); }
| ::Scalar, typename Eigen::internal::traits::Scalar>, const Derived, const OtherDerived> Eigen::MatrixBase::operator+(const Eigen::MatrixBase&) const [with OtherDerived = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double>; Derived = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base>; typename Eigen::internal::traits::Scalar = double; typename Eigen::internal::traits::Scalar = double]’
HKY85.h:165:28: required from here
/usr/include/Eigen/src/Core/util/Meta.h:479:51: error: request for member ‘size’ in ‘x’, which is of non-class type ‘const EGriceLab::HmmUFOtu::DNASubModel::Base’
make[2]: [Makefile:853: hmmufotu.o] Error 1
make[2]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src'
make[1]: [Makefile:984: all-recursive] Error 1
make[1]: Leaving directory '/home/snyoo/HmmUFOtu-1.5.1/src'
make: *** [Makefile:394: all-recursive] Error 1
~~~~~/usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:27:1: note: template argument deduction/substitution failed: In file included from HmmUFOtu_phylo.h:33, from HmmUFOtu.h:31, from hmmufotu.cpp:28: HKY85.h:166:71: note: mismatched types ‘const Eigen::MatrixBase~~~ DigitalSeq.h:206:47: note: no known conversion for argument 1 from ‘const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double, double>, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, double>, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base> >, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, double> >, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base> >, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double> >’ to ‘const EGriceLab::HmmUFOtu::DigitalSeq&’ 206 | inline DigitalSeq operator+(const DigitalSeq& lhs, const DigitalSeq& rhs) { |~~~~^In file included from /usr/include/Eigen/Core:162, from /usr/include/Eigen/Dense:1, from MSA.h:33, from HmmUFOtu_common.h:43, from HmmUFOtu.h:29, from hmmufotu.cpp:28: /usr/include/Eigen/src/Core/util/Meta.h: In instantiation of ‘constexpr Eigen::Index Eigen::internal::size(const T&) [with T = double; Eigen::Index = long int]’: /usr/include/Eigen/src/Core/IndexedView.h:125:45: required from ‘Eigen::Index Eigen::IndexedView<XprType, RowIndices, ColIndices>::rows() const [with XprType = const Eigen::Matrix<double, 4, 4>; RowIndices = double; ColIndices = EGriceLab::HmmUFOtu::DNASubModel::Base; Eigen::Index = long int]’ /usr/include/Eigen/src/Core/CwiseBinaryOp.h:116:7: required from ‘Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::CwiseBinaryOp(const Lhs&, const Rhs&, const BinaryOp&) [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; LhsType = const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base>; RhsType = const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double>; Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::Lhs = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base>; Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::Rhs = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double>]’ /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:27:1: required from ‘const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<typename Eigen::internal::traits^~ /usr/include/Eigen/src/Core/util/Meta.h: In instantiation of ‘constexpr Eigen::Index Eigen::internal::size(const T&) [with T = EGriceLab::HmmUFOtu::DNASubModel::Base; Eigen::Index = long int]’: /usr/include/Eigen/src/Core/IndexedView.h:125:45: required from ‘Eigen::Index Eigen::IndexedView<XprType, RowIndices, ColIndices>::rows() const [with XprType = const Eigen::Matrix<double, 4, 4>; RowIndices = EGriceLab::HmmUFOtu::DNASubModel::Base; ColIndices = double; Eigen::Index = long int]’ /usr/include/Eigen/src/Core/CwiseBinaryOp.h:116:7: required from ‘Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::CwiseBinaryOp(const Lhs&, const Rhs&, const BinaryOp&) [with BinaryOp = Eigen::internal::scalar_sum_op<double, double>; LhsType = const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base>; RhsType = const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double>; Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::Lhs = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, double, EGriceLab::HmmUFOtu::DNASubModel::Base>; Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::Rhs = Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, double>]’ /usr/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h:27:1: required from ‘const Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<typename Eigen::internal::traitsThank you in advance for your assistance.
Best regards,
Shinnam Yoo