Skip to content
This repository has been archived by the owner on Sep 28, 2021. It is now read-only.

fails to compile on 32bit archs #339

Closed
junghans opened this issue Dec 5, 2019 · 2 comments
Closed

fails to compile on 32bit archs #339

junghans opened this issue Dec 5, 2019 · 2 comments
Assignees

Comments

@junghans
Copy link
Member

junghans commented Dec 5, 2019

[ 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
Copy link
Member Author

junghans commented Dec 5, 2019

Confirmed on armv7hl as well.

@JensWehner
Copy link
Member

JensWehner commented Dec 5, 2019

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

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

No branches or pull requests

2 participants