Boost logo

Ublas :

From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2008-01-24 06:35:40


Dear Tunc,

All error messages I see here seem to be related to uBlas and seem to
appear in the function sort() of coordinate_matrix. I do not see any
trace to mumps or the bindings.

Does the code compiler when you remove the call to mumps? If not, there
is a uBlas problem. I suggest you try and get as close as possible to
the source of this problem.

Good luck,

Karl

Tunç Bahçecioğlu wrote:

>Hi
>We just switched to intel compiler v 10.1.013 and when I try to compile the
>example mumps binding program I get an error in the algorithm standart
>library.
>(I get by the unknown compiler error by defining __ICC)
>The full output of the error :
>
>C:\Program Files\Microsoft Visual Studio 8\VC\include\algorithm(5185):
>error: more than one instance of overloaded function "std::_Merge_backward"
>matches the argument list:
>1> function template "_BidIt3 std::_Merge_backward(_BidIt1,
>_BidIt1, _BidIt2, _BidIt2, _BidIt3, std::_Range_checked_iterator_tag)"
>1> function template "std::_Enable_if<<expression>,
>_OutIt>::_Result std::_Merge_backward(_BidIt1, _BidIt1, _BidIt2, _BidIt2,
>_BidIt3, _Pr)"
>1> argument types are:
>(boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>,
>boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>1> std::allocator<int>>,
>boost::numeric::ublas::unbounded_array<int, std::allocator<int>>,
>boost::numeric::ublas::unbounded_array<double, std::allocator<double>>>,
>std::random_access_iterator_tag>,
>boost::numeric::ublas::index_triple<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>>
>1> *,
>boost::numeric::ublas::index_triple<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>> *,
>boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>,
>1> boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>,
>std::_Range_checked_iterator_tag)
>1> return _STD _Merge_backward(_First1, _Last1, _First2, _Last2, _Dest,
>_STD _Range_checked_iterator_tag());
>1> ^
>1> detected during:
>1> instantiation of "_BidIt3
>stdext::_Unchecked_merge_backward(_BidIt1, _BidIt1, _BidIt2, _BidIt2,
>_BidIt3) [with
>_BidIt1=boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>,
>1>
>_BidIt2=boost::numeric::ublas::index_triple<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>> *,
>_BidIt3=boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>,
>1> boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>]" at line 2778
>1> instantiation of "void std::_Buffered_merge(_BidIt, _BidIt,
>_BidIt, _Diff, _Diff, std::_Temp_iterator<_Ty> &) [with
>_BidIt=boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>, _Diff=int,
>1>
>_Ty=boost::numeric::ublas::index_triple<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>>]" at line 2825
>1> instantiation of "void std::_Inplace_merge(_BidIt, _BidIt,
>_BidIt, _Diff *, _Ty *) [with
>_BidIt=boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>,
>_Diff=ptrdiff_t={int},
>1>
>_Ty=boost::numeric::ublas::index_triple<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>>]" at line 2833
>1> instantiation of "void std::inplace_merge(_BidIt, _BidIt,
>_BidIt) [with
>_BidIt=boost::numeric::ublas::indexed_iterator<boost::numeric::ublas::index_triple_array<boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<int,
>std::allocator<int>>, boost::numeric::ublas::unbounded_array<double,
>std::allocator<double>>>, std::random_access_iterator_tag>]" at line 4260 of
>"C:\Program
>1>
>Files\boost\boost_1_34_1\boost/numeric/ublas/matrix_sparse.hpp"
>1> instantiation of "void
>boost::numeric::ublas::coordinate_matrix<T, L, IB, IA, TA>::sort() const
>[with T=double, L=boost::numeric::ublas::column_major, IB=1U,
>IA=boost::numeric::ublas::unbounded_array<int, std::allocator<int>>,
>TA=boost::numeric::ublas::unbounded_array<double, std::allocator<double>>]"
>at line 29 of ".\mumpsTRY2.cpp"
>
>