[Rivet] rivet compilation problem (fedora 17 x64)

Gavin Hesketh gavin.hesketh at cern.ch
Fri Jun 8 13:55:49 BST 2012


Hi,
a fresh install of rivet 1.8 on ferdora 17 x64 using the default 
bootstrap script required three patches in order to compile:

../../include/Rivet/Math/eigen/vector.h:144:9: note: use 
‘this->readArray’ instead

../../include/Rivet/Math/eigen/matrix.h:173:9: note: use 
‘this->readArray’ instead

../../include/Rivet/Math/eigen/ludecomposition.h:88:54: note: use 
‘this->perform’ instead

see attached for more compiler output...  the compiler is

 > g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.7.0/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info 
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap 
--enable-shared --enable-threads=posix --enable-checking=release 
--disable-build-with-cxx --disable-build-poststage1-with-cxx 
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions 
--enable-gnu-unique-object --enable-linker-build-id 
--with-linker-hash-style=gnu 
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto 
--enable-plugin --enable-initfini-array --enable-java-awt=gtk 
--disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre 
--enable-libgcj-multifile --enable-java-maintainer-mode 
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
--disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic 
--with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.7.0 20120507 (Red Hat 4.7.0-5) (GCC)

cheers,
	Gavin
-------------- next part --------------
make[2]: Entering directory `/scratch/rivet/build/Rivet-1.8.0/src/Core'
  CXX    libRivetCore_la-Event.lo
In file included from ../../include/Rivet/Math/VectorN.hh:7:0,
                 from ../../include/Rivet/Math/Vectors.hh:5,
                 from ../../include/Rivet/Rivet.hh:43,
                 from ../../include/Rivet/Event.hh:5,
                 from Event.cc:1:
../../include/Rivet/Math/eigen/vector.h: In instantiation of ‘Eigen::Vector<T, Size>::Vector(const Eigen::Vector<T, Size>&) [with T = double; int Size = 3]’:
../../include/Rivet/Math/VectorN.hh:31:24:   required from ‘Rivet::Vector<N>::Vector(const Rivet::Vector<N>&) [with long unsigned int N = 3ul]’
../../include/Rivet/Math/Vector3.hh:26:9:   required from here
../../include/Rivet/Math/eigen/vector.h:144:9: error: ‘readArray’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../../include/Rivet/Math/eigen/vector.h:144:9: note: declarations in dependent base ‘Eigen::VectorBase<double, Eigen::Vector<double, 3> >’ are not found by unqualified lookup
../../include/Rivet/Math/eigen/vector.h:144:9: note: use ‘this->readArray’ instead
../../include/Rivet/Math/eigen/vector.h: In instantiation of ‘Eigen::Vector<T, Size>::Vector(const Eigen::Vector<T, Size>&) [with T = double; int Size = 4]’:
../../include/Rivet/Math/VectorN.hh:31:24:   required from ‘Rivet::Vector<N>::Vector(const Rivet::Vector<N>&) [with long unsigned int N = 4ul]’
../../include/Rivet/Math/Vector4.hh:39:22:   required from here
../../include/Rivet/Math/eigen/vector.h:144:9: error: ‘readArray’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../../include/Rivet/Math/eigen/vector.h:144:9: note: declarations in dependent base ‘Eigen::VectorBase<double, Eigen::Vector<double, 4> >’ are not found by unqualified lookup
../../include/Rivet/Math/eigen/vector.h:144:9: note: use ‘this->readArray’ instead
In file included from ../../include/Rivet/Math/MatrixN.hh:8:0,
                 from ../../include/Rivet/Math/Matrices.hh:5,
                 from ../../include/Rivet/Rivet.hh:44,
                 from ../../include/Rivet/Event.hh:5,
                 from Event.cc:1:
../../include/Rivet/Math/eigen/matrix.h: In instantiation of ‘Eigen::Matrix<T, Size>::Matrix(const Eigen::Matrix<T, Size>&) [with T = double; int Size = 4]’:
../../include/Rivet/Math/eigen/matrixbase.h:1095:16:   required from ‘Derived Eigen::MatrixBase<T, Derived, VectorType, LUDecompositionType>::inverse() const [with T = double; Derived = Eigen::Matrix<double, 4>; VectorType = Eigen::Vector<double, 4>; LUDecompositionType = Eigen::LUDecomposition<double, 4>]’
../../include/Rivet/Math/MatrixN.hh:136:7:   required from ‘Rivet::Matrix<N> Rivet::Matrix<N>::inverse() const [with long unsigned int N = 4ul]’
../../include/Rivet/Math/LorentzTrans.hh:88:64:   required from here
../../include/Rivet/Math/eigen/matrix.h:173:9: error: ‘readArray’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../../include/Rivet/Math/eigen/matrix.h:173:9: note: declarations in dependent base ‘Eigen::MatrixBase<double, Eigen::Matrix<double, 4>, Eigen::Vector<double, 4>, Eigen::LUDecomposition<double, 4> >’ are not found by unqualified lookup
../../include/Rivet/Math/eigen/matrix.h:173:9: note: use ‘this->readArray’ instead
In file included from ../../include/Rivet/Math/eigen/matrix.h:33:0,
                 from ../../include/Rivet/Math/MatrixN.hh:8,
                 from ../../include/Rivet/Math/Matrices.hh:5,
                 from ../../include/Rivet/Rivet.hh:44,
                 from ../../include/Rivet/Event.hh:5,
                 from Event.cc:1:
../../include/Rivet/Math/eigen/ludecomposition.h: In instantiation of ‘Eigen::LUDecomposition<T, Size>::LUDecomposition(const Eigen::Matrix<T, Size>&) [with T = double; int Size = 4]’:
../../include/Rivet/Math/eigen/matrixbase.h:1789:9:   required from ‘void Eigen::MatrixBase<T, Derived, VectorType, LUDecompositionType>::computeInverse(Derived*) const [with T = double; Derived = Eigen::Matrix<double, 4>; VectorType = Eigen::Vector<double, 4>; LUDecompositionType = Eigen::LUDecomposition<double, 4>]’
../../include/Rivet/Math/eigen/matrixbase.h:1094:9:   required from ‘Derived Eigen::MatrixBase<T, Derived, VectorType, LUDecompositionType>::inverse() const [with T = double; Derived = Eigen::Matrix<double, 4>; VectorType = Eigen::Vector<double, 4>; LUDecompositionType = Eigen::LUDecomposition<double, 4>]’
../../include/Rivet/Math/MatrixN.hh:136:7:   required from ‘Rivet::Matrix<N> Rivet::Matrix<N>::inverse() const [with long unsigned int N = 4ul]’
../../include/Rivet/Math/LorentzTrans.hh:88:64:   required from here
../../include/Rivet/Math/eigen/ludecomposition.h:88:54: error: ‘perform’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
../../include/Rivet/Math/eigen/ludecomposition.h:88:54: note: declarations in dependent base ‘Eigen::LUDecompositionBase<double, Eigen::Matrix<double, 4>, Eigen::Vector<double, 4>, Eigen::Vector<int, 4> >’ are not found by unqualified lookup
../../include/Rivet/Math/eigen/ludecomposition.h:88:54: note: use ‘this->perform’ instead
In file included from ../../include/Rivet/Math/MathUtils.hh:5:0,
                 from ../../include/Rivet/Rivet.hh:42,
                 from ../../include/Rivet/Event.hh:5,
                 from Event.cc:1:
../../include/Rivet/Math/MathHeader.hh:44:16: warning: ‘Rivet::MAXINT’ defined but not used [-Wunused-variable]
make[2]: *** [libRivetCore_la-Event.lo] Error 1
make[2]: Leaving directory `/scratch/rivet/build/Rivet-1.8.0/src/Core'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/scratch/rivet/build/Rivet-1.8.0/src'
make: *** [all-recursive] Error 1


More information about the Rivet mailing list