Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation error #11

Open
Ufungi opened this issue Apr 11, 2023 · 3 comments
Open

Installation error #11

Ufungi opened this issue Apr 11, 2023 · 3 comments

Comments

@Ufungi
Copy link

Ufungi commented Apr 11, 2023

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 HmmUFOtu_phylo.h:33,
from HmmUFOtu.h:31,
from hmmufotu.cpp:28:
HKY85.h: In member function ‘virtual double EGriceLab::HmmUFOtu::HKY85::subDist(const Matrix4d&, double) const’:
HKY85.h:165:56: error: cannot convert ‘const Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_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, EGriceLab::HmmUFOtu::DNASubModel::Base>, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, 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> >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> > >’ to ‘double’ in initialization
165 | double p = (D(A,G) + D(G,A) + D(C,T) + D(T,C)) / N; /* observed Ti diff /
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
| |
| const Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_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, EGriceLab::HmmUFOtu::DNASubModel::Base>, const Eigen::IndexedView<const Eigen::Matrix<double, 4, 4>, EGriceLab::HmmUFOtu::DNASubModel::Base, 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> >, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, -1, -1> > >
HKY85.h:166:64: error: no match for ‘operator+’ (operand types are ‘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> >’ 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 /
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~
| | |
| | const 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::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> >
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)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/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’ 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) {
| ^~~~~~~~
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::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(); }
| ~~^~~~
/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::traits::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

Thank you in advance for your assistance.

Best regards,

Shinnam Yoo

@e00011027
Copy link
Contributor

e00011027 commented Apr 11, 2023 via email

@Ufungi
Copy link
Author

Ufungi commented Apr 11, 2023

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.

@brendanf
Copy link

brendanf commented Oct 1, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants