We just noticed a compilation error on Ubuntu Jaunty on eigen3 today.
$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
--enable-targets=all --with-tune=generic --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
$ lsb_release -a
LSB Version:
core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch:cxx-3.0-ia32:cxx-3.0-noarch:cxx-3.1-ia32:cxx-3.1-noarch:cxx-3.2-ia32:cxx-3.2-noarch:cxx-4.0-ia32:cxx-4.0-noarch:desktop-3.1-ia32:desktop-3.1-noarch:desktop-3.2-ia32:desktop-3.2-noarch:desktop-4.0-ia32:desktop-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch:graphics-3.1-ia32:graphics-3.1-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch:qt4-3.1-ia32:qt4-3.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 9.04
Release: 9.04
Codename: jaunty
eigen3/build/eigen/build$ make check
[ 0%] Building CXX object
unsupported/test/CMakeFiles/polynomialsolver_9.dir/polynomialsolver.cpp.o
In file included from eigen3/build/eigen/Eigen/Core:235,
from eigen3/build/eigen/Eigen/QR:4,
from
eigen3/build/eigen/unsupported/test/../../test/main.h:162,
from
eigen3/build/eigen/unsupported/test/polynomialsolver.cpp:25:
eigen3/build/eigen/Eigen/src/Core/MatrixBase.h:352: error: template argument
2 is invalid
eigen3/build/eigen/Eigen/src/Core/MatrixBase.h:353: warning: type qualifiers
ignored on function return type
In file included from eigen3/build/eigen/Eigen/Core:249,
from eigen3/build/eigen/Eigen/QR:4,
from
eigen3/build/eigen/unsupported/test/../../test/main.h:162,
from
eigen3/build/eigen/unsupported/test/polynomialsolver.cpp:25:
eigen3/build/eigen/Eigen/src/Core/DenseStorageBase.h: In member function
'void Eigen::DenseStorageBase<Derived>::resize(typename
Eigen::ei_traits<Derived>::Index)':
eigen3/build/eigen/Eigen/src/Core/DenseStorageBase.h:187: error: template
argument 1 is invalid
eigen3/build/eigen/Eigen/src/Core/DenseStorageBase.h: In member function
'void Eigen::DenseStorageBase<Derived>::_init2(const typename
Eigen::ei_traits<Derived>::Scalar&, const typename
Eigen::ei_traits<Derived>::Scalar&, typename
Eigen::ei_enable_if<(Eigen::ei_dense_xpr_base::type::SizeAtCompileTime ==
2), T0>::type*)':
eigen3/build/eigen/Eigen/src/Core/DenseStorageBase.h:493: error: template
argument 1 is invalid
make[3]: ***
[unsupported/test/CMakeFiles/polynomialsolver_9.dir/polynomialsolver.cpp.o]
Error 1
make[2]: *** [unsupported/test/CMakeFiles/polynomialsolver_9.dir/all] Error
2
make[1]: *** [test/CMakeFiles/check.dir/rule] Error 2
make: *** [check] Error 2
Is this a known issue/bug with older compilers?
Thanks,
Radu.
--
| Radu Bogdan Rusu | http://rbrusu.com/