problems when compiling mtl-2.1.2-21 with icc 8.1

Márcio Ricardo Pivello <[email protected]> Fri, 10 Jun 2005 19:10:40 +0000
Newsgroups gmane.comp.lib.mtl.devel
Message-ID <[email protected]>
Hi, guys. I'm having some weird problems when I try to compile my programs 
using a compiler version above gcc 3.3.5.I've tried both gcc 3.4.4 and intel 
icc 8.1. Apparently, when a namespace has more than one file, they can't 
link the functions defined in one to another file. I'm sending as an 
atachment the output for icc 8.1, but the result with gcc was quite the 
same. My makefile - if it helps - is listed bellow.

#begin
objects = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
femodel : $(objects)
 g++ -O3 -o femodel $(objects)
#end

I'm running under SuSE 9.3, on a PIV. I think it is a compiler bug, but does 
any body have an idea about how to overcome this problem?

Thanks in advance

Márcio Ricardo
-- 
Márcio Ricardo Pivello
Mechanical Engineer, MSc.
LTCM and CFD Lab
Mechanical Engineering School
Federal University of Uberlândia 
Uberlândia - MG - Brazil

_______________________________________________
This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/
bug_mtl_comp_with_icc.txt (text/plain, 35.8 KB)
pivello@estacao238:~/sources/TCFDFEM> make -f t_cfdfemMakefile
g++    -c -o FEModel.o FEModel.cpp
In file included from /usr/local/include/mtl/dense1D.h:36,
                 from /usr/local/include/itl/interface/mtl.h:80,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/reverse_iter.h: In member function `typename std::reverse_iterator<_Iterator>::difference_type mtl::reverse_iter<Iter>::index() const':
/usr/local/include/mtl/reverse_iter.h:71: error: `current' undeclared (first use this function)
/usr/local/include/mtl/reverse_iter.h:71: error: (Each undeclared identifier is reported only once for each function it appears in.)
/usr/local/include/mtl/reverse_iter.h: In member function `typename std::reverse_iterator<_Iterator>::difference_type mtl::reverse_iter<Iter>::row() const':
/usr/local/include/mtl/reverse_iter.h:75: error: `current' undeclared (first use this function)
/usr/local/include/mtl/reverse_iter.h: In member function `typename std::reverse_iterator<_Iterator>::difference_type mtl::reverse_iter<Iter>::column() const':
/usr/local/include/mtl/reverse_iter.h:79: error: `current' undeclared (first use this function)
In file included from /usr/local/include/mtl/matrix_implementation.h:41,
                 from /usr/local/include/mtl/matrix.h:47,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/linalg_vec.h: In constructor `mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::iterator::iterator(mtl::dense_iterator<typename RepType::iterator, 0, int>, mtl::dense_iterator<typename RepType::iterator, 0, int>)':
/usr/local/include/mtl/linalg_vec.h:149: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
/usr/local/include/mtl/linalg_vec.h:149: error: (if you use `-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/local/include/mtl/linalg_vec.h: In member function `mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::iterator& mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::iterator::operator++()':
/usr/local/include/mtl/linalg_vec.h:153: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
/usr/local/include/mtl/linalg_vec.h: In member function `mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::iterator& mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::iterator::operator--()':
/usr/local/include/mtl/linalg_vec.h:157: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
/usr/local/include/mtl/linalg_vec.h: In constructor `mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::const_iterator::const_iterator(mtl::dense_iterator<typename RepType::const_iterator, 0, int>, mtl::dense_iterator<typename RepType::const_iterator, 0, int>)':
/usr/local/include/mtl/linalg_vec.h:176: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
/usr/local/include/mtl/linalg_vec.h: In member function `mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::const_iterator& mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::const_iterator::operator++()':
/usr/local/include/mtl/linalg_vec.h:180: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
/usr/local/include/mtl/linalg_vec.h: In member function `mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::const_iterator& mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::const_iterator::operator--()':
/usr/local/include/mtl/linalg_vec.h:185: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
/usr/local/include/mtl/linalg_vec.h: In member function `typename RepType::size_type mtl::linalg_vec<RepType, RepPtr, NN>::IndexArray::size() const':
/usr/local/include/mtl/linalg_vec.h:213: error: there are no arguments to `Vec_value_type' that depend on a template parameter, so a declaration of `Vec_value_type' must be available
In file included from /usr/local/include/mtl/matrix_implementation.h:44,
                 from /usr/local/include/mtl/matrix.h:47,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/light_matrix.h: At global scope:
/usr/local/include/mtl/light_matrix.h:128: error: type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned' is not derived from type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned::__iterator<isConst>'
/usr/local/include/mtl/light_matrix.h:128: error: expected `;' before "value_type"
/usr/local/include/mtl/light_matrix.h:129: error: type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned' is not derived from type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned::__iterator<isConst>'
/usr/local/include/mtl/light_matrix.h:129: error: expected `;' before "pointer"
/usr/local/include/mtl/light_matrix.h:130: error: type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned' is not derived from type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned::__iterator<isConst>'
/usr/local/include/mtl/light_matrix.h:130: error: expected `;' before "size_type"
/usr/local/include/mtl/light_matrix.h:131: error: type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned' is not derived from type `mtl::light_matrix<T, SizeType, Orien, Strided>::oned::__iterator<isConst>'
/usr/local/include/mtl/light_matrix.h:131: error: expected `;' before "difference_type"
/usr/local/include/mtl/light_matrix.h:133: error: type/value mismatch at argument 2 in template parameter list for `template<int cond, class A, class B> struct mtl::IF'
/usr/local/include/mtl/light_matrix.h:133: error:   expected a type, got ` mtl::light_matrix<T,SizeType,Orien,Strided>::oned::const_reference'
/usr/local/include/mtl/light_matrix.h:133: error: type/value mismatch at argument 3 in template parameter list for `template<int cond, class A, class B> struct mtl::IF'
/usr/local/include/mtl/light_matrix.h:133: error:   expected a type, got ` mtl::light_matrix<T,SizeType,Orien,Strided>::oned::reference'
/usr/local/include/mtl/light_matrix.h:133: error: `RET' does not name a type
In file included from /usr/local/include/mtl/matrix.h:47,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::matrix_implementation<TwoDGen, IndexerGen>::matrix_implementation(mtl::matrix_market_stream<typename TwoDGen::type::value_type::value_type>&, Me&)':
/usr/local/include/mtl/matrix_implementation.h:351: error: `initialize' is not a member of `mtl'
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::matrix_implementation<TwoDGen, IndexerGen>::matrix_implementation(mtl::harwell_boeing_stream<typename TwoDGen::type::value_type::value_type>&, Me&)':
/usr/local/include/mtl/matrix_implementation.h:358: error: `initialize' is not a member of `mtl'
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::matrix_implementation<TwoDGen, IndexerGen>::matrix_implementation(mtl::matrix_market_stream<typename TwoDGen::type::value_type::value_type>&, typename IndexerGen::type::band_type, Me&)':
/usr/local/include/mtl/matrix_implementation.h:369: error: `initialize' is not a member of `mtl'
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::matrix_implementation<TwoDGen, IndexerGen>::matrix_implementation(mtl::harwell_boeing_stream<typename TwoDGen::type::value_type::value_type>&, typename IndexerGen::type::band_type, Me&)':
/usr/local/include/mtl/matrix_implementation.h:380: error: `initialize' is not a member of `mtl'
/usr/local/include/mtl/matrix_implementation.h: At global scope:
/usr/local/include/mtl/matrix_implementation.h:638: error: non-template `bind' used as template
/usr/local/include/mtl/matrix_implementation.h:638: note: use `IndexerGen::template bind' to indicate that it is a template
/usr/local/include/mtl/matrix_implementation.h:638: error: declaration does not declare anything
/usr/local/include/mtl/matrix_implementation.h:640: error: `SubMatIndexerGen' was not declared in this scope
/usr/local/include/mtl/matrix_implementation.h:640: error: template argument 2 is invalid
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, int, int)':
/usr/local/include/mtl/matrix_implementation.h:539: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::pointer, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, int, int)':
/usr/local/include/mtl/matrix_implementation.h:555: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::pointer, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, int, int)':
/usr/local/include/mtl/matrix_implementation.h:559: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(int, int, const Matrix&)':
/usr/local/include/mtl/matrix_implementation.h:572: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(mtl::matrix_market_stream<typename mtl::matrix_implementation<TwoDGen, IndexerGen>::value_type>&, int, int)':
/usr/local/include/mtl/matrix_implementation.h:585: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(mtl::harwell_boeing_stream<typename mtl::matrix_implementation<TwoDGen, IndexerGen>::value_type>&, int, int)':
/usr/local/include/mtl/matrix_implementation.h:587: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(mtl::matrix_market_stream<typename mtl::matrix_implementation<TwoDGen, IndexerGen>::value_type>&, int, int, Subclass&)':
/usr/local/include/mtl/matrix_implementation.h:595: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::row_matrix<TwoDGen, IndexerGen>::row_matrix(mtl::harwell_boeing_stream<typename mtl::matrix_implementation<TwoDGen, IndexerGen>::value_type>&, int, int, Subclass&)':
/usr/local/include/mtl/matrix_implementation.h:598: error: there are no arguments to `band_type' that depend on a template parameter, so a declaration of `band_type' must be available
/usr/local/include/mtl/matrix_implementation.h: In member function `void mtl::row_matrix<TwoDGen, IndexerGen>::resize(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type)':
/usr/local/include/mtl/matrix_implementation.h:627: error: `twod' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h:628: error: `indexer' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h: In member function `int mtl::row_matrix<TwoDGen, IndexerGen>::sub_matrix(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type) const':
/usr/local/include/mtl/matrix_implementation.h:657: error: `indexer' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h:662: error: `twod' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h: At global scope:
/usr/local/include/mtl/matrix_implementation.h:865: error: non-template `bind' used as template
/usr/local/include/mtl/matrix_implementation.h:865: note: use `IndexerGen::template bind' to indicate that it is a template
/usr/local/include/mtl/matrix_implementation.h:865: error: declaration does not declare anything
/usr/local/include/mtl/matrix_implementation.h:867: error: `SubMatIndexerGen' was not declared in this scope
/usr/local/include/mtl/matrix_implementation.h:867: error: template argument 2 is invalid
/usr/local/include/mtl/matrix_implementation.h: In member function `void mtl::column_matrix<TwoDGen, IndexerGen>::resize(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type)':
/usr/local/include/mtl/matrix_implementation.h:854: error: `twod' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h:855: error: `indexer' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h: In member function `int mtl::column_matrix<TwoDGen, IndexerGen>::sub_matrix(typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type, typename mtl::matrix_implementation<TwoDGen, IndexerGen>::size_type) const':
/usr/local/include/mtl/matrix_implementation.h:880: error: `indexer' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h:885: error: `twod' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::symmetric_matrix<Base_, Uplo>::symmetric_matrix(typename Base_::size_type, int, int)':
/usr/local/include/mtl/matrix_implementation.h:1231: error: `m' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h: In constructor `mtl::symmetric_matrix<Base_, Uplo>::symmetric_matrix(typename Base_::pointer, typename Base_::size_type, int, int)':
/usr/local/include/mtl/matrix_implementation.h:1235: error: `m' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h: In member function `int mtl::symmetric_matrix<Base_, Uplo>::sub() const':
/usr/local/include/mtl/matrix_implementation.h:1311: error: `indexer' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h:1311: error: no matching function for call to `max(<type error>, <type error>)'
/usr/local/include/mtl/matrix_implementation.h: In member function `int mtl::symmetric_matrix<Base_, Uplo>::super() const':
/usr/local/include/mtl/matrix_implementation.h:1314: error: `indexer' undeclared (first use this function)
/usr/local/include/mtl/matrix_implementation.h:1314: error: no matching function for call to `max(<type error>, <type error>)'
In file included from /usr/local/include/mtl/matrix.h:52,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/dense2D.h: At global scope:
/usr/local/include/mtl/dense2D.h:800: error: non-template `bind' used as template
/usr/local/include/mtl/dense2D.h:800: note: use `OffsetGen::template bind' to indicate that it is a template
/usr/local/include/mtl/dense2D.h:800: error: declaration does not declare anything
/usr/local/include/mtl/dense2D.h:806: error: `Offset' has not been declared
/usr/local/include/mtl/dense2D.h:806: error: expected nested-name-specifier before "dim_type"
/usr/local/include/mtl/dense2D.h:806: error: `dim_type' does not name a type
/usr/local/include/mtl/dense2D.h:809: error: `Offset' has not been declared
/usr/local/include/mtl/dense2D.h:809: error: expected nested-name-specifier before "band_type"
/usr/local/include/mtl/dense2D.h:809: error: `band_type' does not name a type
/usr/local/include/mtl/dense2D.h:816: error: `Offset' has not been declared
/usr/local/include/mtl/dense2D.h:816: error: expected nested-name-specifier before "is_strided"
/usr/local/include/mtl/dense2D.h:816: error: `is_strided' does not name a type
/usr/local/include/mtl/dense2D.h:825: error: `Offset' has not been declared
/usr/local/include/mtl/dense2D.h:825: error: expected nested-name-specifier before "bind_oned"
/usr/local/include/mtl/dense2D.h:825: error: expected `;' before '<' token
/usr/local/include/mtl/dense2D.h:828: error: `OneD' does not name a type
/usr/local/include/mtl/dense2D.h:829: error: `OneD' does not name a type
/usr/local/include/mtl/dense2D.h:833: error: `OneD' does not name a type
/usr/local/include/mtl/dense2D.h:835: error: `value_type' does not name a type
/usr/local/include/mtl/dense2D.h:837: error: `value_type' does not name a type
/usr/local/include/mtl/dense2D.h:840: error: `Offset' was not declared in this scope
/usr/local/include/mtl/dense2D.h:840: error: `OneD' was not declared in this scope
/usr/local/include/mtl/dense2D.h:840: error: template argument 3 is invalid
/usr/local/include/mtl/dense2D.h:840: error: template argument 5 is invalid
/usr/local/include/mtl/dense2D.h:843: error: `Offset' was not declared in this scope
/usr/local/include/mtl/dense2D.h:843: error: `OneD' was not declared in this scope
/usr/local/include/mtl/dense2D.h:843: error: template argument 3 is invalid
/usr/local/include/mtl/dense2D.h:843: error: template argument 5 is invalid
/usr/local/include/mtl/dense2D.h:870: error: `Offset' has not been declared
/usr/local/include/mtl/dense2D.h:870: error: expected nested-name-specifier before "strideability"
/usr/local/include/mtl/dense2D.h:870: error: `strideability' does not name a type
/usr/local/include/mtl/dense2D.h:896: error: `band_type' has not been declared
/usr/local/include/mtl/dense2D.h:937: error: `band_type' has not been declared
/usr/local/include/mtl/dense2D.h:948: error: `band_type' has not been declared
/usr/local/include/mtl/dense2D.h:1044: error: `OneD' declared as an `inline' field
/usr/local/include/mtl/dense2D.h:1044: error: expected `;' before "operator"
/usr/local/include/mtl/dense2D.h:1098: error: expected `;' before "size_type"
/usr/local/include/mtl/dense2D.h:1101: error: `Offset' does not name a type
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, typename RepType::size_type, typename RepType::size_type, typename RepType::size_type)':
/usr/local/include/mtl/dense2D.h:881: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, typename RepType::size_type, typename RepType::size_type, typename RepType::size_type, mtl::dimension<typename RepType::value_type, 0, 0>, char)':
/usr/local/include/mtl/dense2D.h:887: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, typename RepType::size_type)':
/usr/local/include/mtl/dense2D.h:892: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, typename RepType::size_type, typename RepType::size_type, typename RepType::size_type, int)':
/usr/local/include/mtl/dense2D.h:898: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In copy constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(const mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>&)':
/usr/local/include/mtl/dense2D.h:905: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In member function `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>& mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::operator=(const mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>&)':
/usr/local/include/mtl/dense2D.h:909: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, const mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>&)':
/usr/local/include/mtl/dense2D.h:915: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(const mtl::generic_dense2D<RepType, RepPtr, typename OffsetGen::transpose_type, MM, NN>&, mtl::do_transpose, mtl::do_transpose)':
/usr/local/include/mtl/dense2D.h:919: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, MatrixStream&, Orien)':
/usr/local/include/mtl/dense2D.h:931: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, MatrixStream&, Orien, int)':
/usr/local/include/mtl/dense2D.h:941: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In constructor `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::generic_dense2D(RepPtr, const TwoD&, int, mtl::banded_tag)':
/usr/local/include/mtl/dense2D.h:952: error: class `mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>' does not have any field named `offset'
/usr/local/include/mtl/dense2D.h: In member function `int mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::begin()':
/usr/local/include/mtl/dense2D.h:967: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `int mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::end()':
/usr/local/include/mtl/dense2D.h:971: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `int mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::begin() const':
/usr/local/include/mtl/dense2D.h:975: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `int mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::end() const':
/usr/local/include/mtl/dense2D.h:979: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `const typename RepType::value_type& mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::operator()(typename RepType::size_type, typename RepType::size_type) const':
/usr/local/include/mtl/dense2D.h:1006: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `typename RepType::value_type& mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::operator()(typename RepType::size_type, typename RepType::size_type)':
/usr/local/include/mtl/dense2D.h:1010: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `typename RepType::size_type mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::nnz() const':
/usr/local/include/mtl/dense2D.h:1016: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `typename RepType::size_type mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::capacity() const':
/usr/local/include/mtl/dense2D.h:1019: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `typename RepType::size_type mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::major() const':
/usr/local/include/mtl/dense2D.h:1022: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `typename RepType::size_type mtl::generic_dense2D<RepType, RepPtr, OffsetGen, MM, NN>::minor() const':
/usr/local/include/mtl/dense2D.h:1025: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `void mtl::dense2D<T, OffsetGen, MM, NN>::resize(typename mtl::generic_dense2D<std::vector<T, std::allocator<_CharT> >, mtl::refcnt_ptr<std::vector<T, std::allocator<_CharT> > >, OffsetGen, MM, NN>::size_type, typename mtl::generic_dense2D<std::vector<T, std::allocator<_CharT> >, mtl::refcnt_ptr<std::vector<T, std::allocator<_CharT> > >, OffsetGen, MM, NN>::size_type)':
/usr/local/include/mtl/dense2D.h:1238: error: `offset' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h:1247: error: `data_' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h:1248: error: `ld_' undeclared (first use this function)
/usr/local/include/mtl/dense2D.h: In member function `mtl::external2D<T, OffsetGen, MM, NN>& mtl::external2D<T, OffsetGen, MM, NN>::operator=(const mtl::external2D<T, OffsetGen, MM, NN>&)':
/usr/local/include/mtl/dense2D.h:1366: error: `data_' undeclared (first use this function)
In file included from /usr/local/include/mtl/array2D.h:38,
                 from /usr/local/include/mtl/matrix.h:53,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/utils.h: In function `void mtl::print_partitioned_vector(Vector)':
/usr/local/include/mtl/utils.h:53: error: `print_vector' is not a member of `mtl'
/usr/local/include/mtl/utils.h: In function `void mtl::print_partitioned_matrix(const Matrix&)':
/usr/local/include/mtl/utils.h:66: error: `print_all_matrix' is not a member of `mtl'
/usr/local/include/mtl/utils.h: In function `void mtl::print_partitioned_by_row(const Matrix&)':
/usr/local/include/mtl/utils.h:83: error: `print_all_matrix' is not a member of `mtl'
/usr/local/include/mtl/utils.h: In function `void mtl::print_partitioned_by_column(const Matrix&)':
/usr/local/include/mtl/utils.h:102: error: `print_all_matrix' is not a member of `mtl'
In file included from /usr/local/include/mtl/matrix.h:54,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/compressed2D.h: In constructor `mtl::compressed2D<T, SizeType, IND_OFFSET>::compressed2D(typename mtl::generic_comp2D<mtl::dense1D<T, 0>, mtl::dense1D<T, 0>*, mtl::dense1D<SizeType, 0>, mtl::dense1D<SizeType, 0>*, IND_OFFSET>::dim_type)':
/usr/local/include/mtl/compressed2D.h:669: error: `dim' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h: In constructor `mtl::compressed2D<T, SizeType, IND_OFFSET>::compressed2D(typename mtl::generic_comp2D<mtl::dense1D<T, 0>, mtl::dense1D<T, 0>*, mtl::dense1D<SizeType, 0>, mtl::dense1D<SizeType, 0>*, IND_OFFSET>::dim_type, mtl::dimension<int, 0, 0>)':
/usr/local/include/mtl/compressed2D.h:686: error: `dim' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h: In member function `mtl::compressed2D<T, SizeType, IND_OFFSET>& mtl::compressed2D<T, SizeType, IND_OFFSET>::operator=(const mtl::compressed2D<T, SizeType, IND_OFFSET>&)':
/usr/local/include/mtl/compressed2D.h:705: error: `dim' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h:706: error: `values' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h:706: error: `indices' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h:706: error: `starts' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h: In member function `mtl::ext_comp2D<T, SizeType, IND_OFFSET>& mtl::ext_comp2D<T, SizeType, IND_OFFSET>::operator=(const mtl::ext_comp2D<T, SizeType, IND_OFFSET>&)':
/usr/local/include/mtl/compressed2D.h:804: error: `dim' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h:805: error: `values' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h:805: error: `indices' undeclared (first use this function)
/usr/local/include/mtl/compressed2D.h:805: error: `starts' undeclared (first use this function)
In file included from /usr/local/include/mtl/matrix.h:55,
                 from /usr/local/include/itl/interface/mtl.h:81,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/envelope2D.h: In constructor `mtl::envelope2D<T>::envelope2D(mtl::dimension<typename mtl::dense1D<T, 0>::size_type, 0, 0>)':
/usr/local/include/mtl/envelope2D.h:299: error: `m' undeclared (first use this function)
In file included from /usr/local/include/mtl/mtl.h:40,
                 from /usr/local/include/itl/interface/mtl.h:82,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/transform_iterator.h: In member function `general_stride_iterator<RandomAccessIterator, StrideGen>& general_stride_iterator<RandomAccessIterator, StrideGen>::operator++()':
/usr/local/include/mtl/transform_iterator.h:267: error: `iter' undeclared (first use this function)
/usr/local/include/mtl/transform_iterator.h: In member function `general_stride_iterator<RandomAccessIterator, StrideGen>& general_stride_iterator<RandomAccessIterator, StrideGen>::operator--()':
/usr/local/include/mtl/transform_iterator.h:271: error: `iter' undeclared (first use this function)
/usr/local/include/mtl/transform_iterator.h: In member function `general_stride_iterator<RandomAccessIterator, StrideGen>& general_stride_iterator<RandomAccessIterator, StrideGen>::operator+=(typename iterator_adaptor<general_stride_iterator<RandomAccessIterator, StrideGen>, RandomAccessIterator>::Distance)':
/usr/local/include/mtl/transform_iterator.h:275: error: `iter' undeclared (first use this function)
/usr/local/include/mtl/transform_iterator.h: In member function `general_stride_iterator<RandomAccessIterator, StrideGen>& general_stride_iterator<RandomAccessIterator, StrideGen>::operator-=(typename iterator_adaptor<general_stride_iterator<RandomAccessIterator, StrideGen>, RandomAccessIterator>::Distance)':
/usr/local/include/mtl/transform_iterator.h:279: error: `iter' undeclared (first use this function)
/usr/local/include/mtl/transform_iterator.h: In member function `typename iterator_adaptor<general_stride_iterator<RandomAccessIterator, StrideGen>, RandomAccessIterator>::Distance general_stride_iterator<RandomAccessIterator, StrideGen>::diff(const general_stride_iterator<RandomAccessIterator, StrideGen>&) const':
/usr/local/include/mtl/transform_iterator.h:284: error: `iter' undeclared (first use this function)
In file included from /usr/local/include/itl/interface/mtl.h:82,
                 from /usr/local/include/itl/itl.h:102,
                 from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/mtl/mtl.h: In function `void mtl::rect_mult(const Matrix&, const VecX&, VecY&, mtl::column_tag, mtl::sparse_tag)':
/usr/local/include/mtl/mtl.h:1542: error: `add' is not a member of `mtl'
/usr/local/include/mtl/mtl.h: In function `void mtl::rect_mult(const Matrix&, const VecX&, VecY&, mtl::row_tag, mtl::sparse_tag)':
/usr/local/include/mtl/mtl.h:1555: error: `dot' is not a member of `mtl'
/usr/local/include/mtl/mtl.h: In function `void mtl::mult_shape__(const Matrix&, const VecX&, VecZ&, mtl::triangle_tag)':
/usr/local/include/mtl/mtl.h:1583: error: `add' is not a member of `mtl'
/usr/local/include/mtl/mtl.h:1585: error: `add' is not a member of `mtl'
/usr/local/include/mtl/mtl.h: In function `void mtl::mult(const Matrix&, const VecX&, const VecY&, const VecZ&)':
/usr/local/include/mtl/mtl.h:1675: error: `copy' is not a member of `mtl'
In file included from FEModel.h:10,
                 from FEModel.cpp:1:
/usr/local/include/itl/itl.h: In member function `bool itl::noisy_iteration<Real>::finished(const Vector&)':
/usr/local/include/itl/itl.h:222: error: `i' undeclared (first use this function)
/usr/local/include/itl/itl.h:222: error: `max_iter' undeclared (first use this function)
/usr/local/include/itl/itl.h:225: error: `error' undeclared (first use this function)
/usr/local/include/itl/itl.h:228: error: there are no arguments to `resid' that depend on a template parameter, so a declaration of `resid' must be available
/usr/local/include/itl/itl.h: In member function `bool itl::noisy_iteration<Real>::finished(const Real&)':
/usr/local/include/itl/itl.h:241: error: `i' undeclared (first use this function)
/usr/local/include/itl/itl.h:241: error: `max_iter' undeclared (first use this function)
/usr/local/include/itl/itl.h:244: error: `error' undeclared (first use this function)
/usr/local/include/itl/itl.h:247: error: there are no arguments to `resid' that depend on a template parameter, so a declaration of `resid' must be available
/usr/local/include/itl/itl.h: In member function `bool itl::noisy_iteration<Real>::finished(const std::complex<_Up>&)':
/usr/local/include/itl/itl.h:260: error: `i' undeclared (first use this function)
/usr/local/include/itl/itl.h:260: error: `max_iter' undeclared (first use this function)
/usr/local/include/itl/itl.h:263: error: `error' undeclared (first use this function)
/usr/local/include/itl/itl.h:266: error: there are no arguments to `resid' that depend on a template parameter, so a declaration of `resid' must be available
/usr/local/include/itl/itl.h: In member function `int itl::noisy_iteration<Real>::error_code()':
/usr/local/include/itl/itl.h:274: error: `error' undeclared (first use this function)
/usr/local/include/itl/itl.h:275: error: there are no arguments to `iterations' that depend on a template parameter, so a declaration of `iterations' must be available
/usr/local/include/itl/itl.h:276: error: there are no arguments to `resid' that depend on a template parameter, so a declaration of `resid' must be available
/usr/local/include/itl/itl.h:277: error: there are no arguments to `resid' that depend on a template parameter, so a declaration of `resid' must be available
/usr/local/include/itl/itl.h:277: error: there are no arguments to `normb' that depend on a template parameter, so a declaration of `normb' must be available
/usr/local/include/itl/itl.h:279: error: `rtol_' undeclared (first use this function)
/usr/local/include/itl/itl.h:279: error: `atol_' undeclared (first use this function)
make: *** [FEModel.o] Error 1