votca / xtp

GW-BSE for excited state Quantum Chemistry in a Gaussian Orbital basis, electronic spectroscopy with QM/MM, charge and energy dynamics in complex molecular systems
29 stars 16 forks source link

fails to compile on 32bit archs #339

Closed junghans closed 4 years ago

junghans commented 4 years ago
[ 30%] Building CXX object src/libxtp/CMakeFiles/votca_xtp.dir/matrixfreeoperator.cc.o
cd /builddir/build/BUILD/xtp-1.6_rc1/i686-redhat-linux-gnu/src/libxtp && /usr/bin/c++  -DBOOST_UBLAS_NDEBUG -Dvotca_xtp_EXPORTS -I/builddir/build/BUILD/xtp-1.6_rc1/i686-redhat-linux-gnu/src/libxtp -I/builddir/build/BUILD/xtp-1.6_rc1/include -I/builddir/build/BUILD/xtp-1.6_rc1/i686-redhat-linux-gnu/include -isystem /usr/include/eigen3  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fopenmp -DNDEBUG -fPIC   -std=c++14 -o CMakeFiles/votca_xtp.dir/matrixfreeoperator.cc.o -c /builddir/build/BUILD/xtp-1.6_rc1/src/libxtp/matrixfreeoperator.cc
/builddir/build/BUILD/xtp-1.6_rc1/src/libxtp/matrixfreeoperator.cc:29:17: error: no declaration matches 'Eigen::MatrixXd votca::xtp::MatrixFreeOperator::OperatorBlock(long int, long int) const'
   29 | Eigen::MatrixXd MatrixFreeOperator::OperatorBlock(long, long) const {
      |                 ^~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/xtp-1.6_rc1/src/libxtp/matrixfreeoperator.cc:20:
/builddir/build/BUILD/xtp-1.6_rc1/include/votca/xtp/matrixfreeoperator.h:73:27: note: candidate is: 'virtual Eigen::MatrixXd votca::xtp::MatrixFreeOperator::OperatorBlock(Eigen::EigenBase<votca::xtp::MatrixFreeOperator>::Index, Eigen::EigenBase<votca::xtp::MatrixFreeOperator>::Index) const'
   73 |   virtual Eigen::MatrixXd OperatorBlock(Index row, Index col) const;
      |                           ^~~~~~~~~~~~~
/builddir/build/BUILD/xtp-1.6_rc1/include/votca/xtp/matrixfreeoperator.h:41:7: note: 'class votca::xtp::MatrixFreeOperator' defined here
   41 | class MatrixFreeOperator : public Eigen::EigenBase<MatrixFreeOperator> {
      |       ^~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/xtp-1.6_rc1/src/libxtp/matrixfreeoperator.cc:92:6: error: no declaration matches 'long int votca::xtp::MatrixFreeOperator::size() const'
   92 | long MatrixFreeOperator::size() const { return this->_size; }
      |      ^~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/xtp-1.6_rc1/src/libxtp/matrixfreeoperator.cc:20:
/builddir/build/BUILD/xtp-1.6_rc1/include/votca/xtp/matrixfreeoperator.h:62:9: note: candidate is: 'Eigen::EigenBase<votca::xtp::MatrixFreeOperator>::Index votca::xtp::MatrixFreeOperator::size() const'
   62 |   Index size() const;
      |         ^~~~
/builddir/build/BUILD/xtp-1.6_rc1/include/votca/xtp/matrixfreeoperator.h:41:7: note: 'class votca::xtp::MatrixFreeOperator' defined here
   41 | class MatrixFreeOperator : public Eigen::EigenBase<MatrixFreeOperator> {
      |       ^~~~~~~~~~~~~~~~~~
make[2]: *** [src/libxtp/CMakeFiles/votca_xtp.dir/build.make:989: src/libxtp/CMakeFiles/votca_xtp.dir/matrixfreeoperator.cc.o] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/xtp-1.6_rc1/i686-redhat-linux-gnu'
make[2]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/builddir/build/BUILD/xtp-1.6_rc1/i686-redhat-linux-gnu'

Details here

junghans commented 4 years ago

Confirmed on armv7hl as well.

JensWehner commented 4 years ago

Could it be that Eigen::Index depends on the plattform? maybe votca::Index just typedefs Eigen::Index