Boost logo

Ublas :

From: Preben Hagh Strunge Holm (preben_at_[hidden])
Date: 2007-03-01 07:38:11


Hi

I get this error:
-------------------------------------
/home/preben/working/RobWork -I /home/preben/working/RobWork/src -c
-DNDEBUG test.cpp
BD Software STL Message Decryptor v2.47a for gcc
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/lapack/po
     sv.hpp: In function
    `int boost::numeric::bindings::lapack::potrs(
         const boost::numeric::ublas::symmetric_matrix<
             double, boost::numeric::ublas::lower
           , boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
       , boost::numeric::ublas::matrix<
             double, boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
     )':
test.cpp:20: instantiated from here
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/lapack/posv.hpp:337:
     error: incomplete type
    `boost::STATIC_ASSERTION_FAILURE< false>' used in nested name specifier
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/lapack/posv.hpp:337:
     error: size of array has non-integral type `<type error>'
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/traits/ma
     trix_traits.hpp: In function
    `int boost::numeric::bindings::traits::leading_dimension(
         const boost::numeric::ublas::symmetric_matrix<
             double, boost::numeric::ublas::lower
           , boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
     )':
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/lapack/posv.hpp:294:
     instantiated from
    `int boost::numeric::bindings::lapack::detail::potrs(
         char
       , const boost::numeric::ublas::symmetric_matrix<
             double, boost::numeric::ublas::lower
           , boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
       , boost::numeric::ublas::matrix<
             double, boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
     )'
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/lapack/posv.hpp:347:
     instantiated from
    `int boost::numeric::bindings::lapack::potrs(
         const boost::numeric::ublas::symmetric_matrix<
             double, boost::numeric::ublas::lower
           , boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
       , boost::numeric::ublas::matrix<
             double, boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
> &
     )'
test.cpp:20: instantiated from here
/home/preben/working/RobWork/ext/boostbindings/boost/numeric/bindings/traits/matrix_traits.hpp:131:
     error: `leading_dimension' is not a member of
    `boost::numeric::bindings::traits::matrix_traits<
         const boost::numeric::ublas::symmetric_matrix<
             double, boost::numeric::ublas::lower
           , boost::numeric::ublas::column_major
           , boost::numeric::ublas::unbounded_array<double>
>
>'
-------------------------------------

When I try to compile this simple example:
-------------------------------------
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/symmetric.hpp>
#include <boost/numeric/ublas/io.hpp>

#include <boost/numeric/bindings/traits/ublas_matrix.hpp>
#include <boost/numeric/bindings/traits/ublas_symmetric.hpp>

#include <boost/numeric/bindings/lapack/posv.hpp>

#include <vector>

namespace ublas = boost::numeric::ublas;
namespace lapack = boost::numeric::bindings::lapack;

int main() {
   ublas::symmetric_matrix<double, ublas::lower, ublas::column_major>
A(3,3);
   ublas::matrix<double, ublas::column_major> B(3,1);

   lapack::potrs(A,B);

   return 0;
}
-------------------------------------

What have I done wrong? What's the missing piece?

Thanks

/ Preben