← Back to team overview

dolfin team mailing list archive

Re: 0.6.2-1 compilation error

 

In src/kernel/la/dolfin/uBlasLUSolver.h at line 95, try changing

  ublas::permutation_matrix<std::size_t> pmatrix(M);

to

  ublas::permutation_matrix<unsigned int> pmatrix(M);

I have limited computer access at the moment, so I can't test it. Let me know 
how it goes.

Garth

Quoting osman b <osman@xxxxxxxx>:

> On Friday 08 September 2006 12:20, you wrote:
> > Hopefully this problem is now fixed. Osman, can you test it for me?
> It fixed the last problem but now I get this:
> ... 
>  g++ -DPACKAGE_NAME=\"DOLFIN\" -DPACKAGE_TARNAME=\"dolfin\" 
> -DPACKAGE_VERSION=\"0.6.2-1\" "-DPACKAGE_STRING=\"DOLFIN 0.6.2-1\"" 
> -DPACKAGE_BUGREPORT=\"dolfin@xxxxxxxxxx\" -DSTDC_HEADERS=1 
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
> 
> -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_UMFPACK_H=1 -I. -I. 
> -I/usr/include/python2.4 -I../../src/kernel/common -I../../src/kernel/fem 
> -I../../src/kernel/form -I../../src/kernel/function -I../../src/kernel/io 
> -I../../src/kernel/la -I../../src/kernel/main -I../../src/kernel/math 
> -I../../src/kernel/mesh -I../../src/kernel/mf -I../../src/kernel/nls 
> -I../../src/kernel/ode -I../../src/kernel/pde -I../../src/kernel/quadrature 
> -I../../src/kernel/parameter -I../../src/kernel/log -I/usr/include/libxml2 
> -I/usr/local/include -I../../src/modules/elasticity 
> -I../../src/modules/elasticity-updated -I../../src/modules/convdiff 
> -I../../src/modules/navierstokes -I../../src/modules/poisson 
> -I../../src/modules/stokes -I../../src/modules/heat -I../../src/kernel/common
> 
> -I../../src/kernel/fem -I../../src/kernel/form -I../../src/kernel/function 
> -I../../src/kernel/io -I../../src/kernel/la -I../../src/kernel/main 
> -I../../src/kernel/math -I../../src/kernel/mesh -I../../src/kernel/mf 
> -I../../src/kernel/nls -I../../src/kernel/ode -I../../src/kernel/pde 
> -I../../src/kernel/quadrature -I../../src/kernel/parameter 
> -I../../src/kernel/log -I/usr/include/libxml2 -I/usr/local/include 
> -I../../src/modules/ -I../../src/pydolfin -g -O2 -DNDEBUG -pedantic 
> -Wno-long-long -std=c++98 -fPIC -MT _dolfin_la-dolfin_wrap.lo -MD -MP 
> -MF .deps/_dolfin_la-dolfin_wrap.Tpo -c dolfin_wrap.cpp  -fPIC -DPIC 
> -o .libs/_dolfin_la-dolfin_wrap.o
> /usr/local/include/boost/numeric/ublas/lu.hpp: In function 'typename 
> M::size_type boost::numeric::ublas::lu_factorize(M&, PM&) [with M = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>, PM = 
> boost::numeric::ublas::permutation_matrix<long unsigned int, 
> boost::numeric::ublas::unbounded_array<long unsigned int, std::allocator<long
> 
> unsigned int> > >]':
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:98:   instantiated from 
> 'dolfin::uint dolfin::uBlasLUSolver::solveInPlace(Mat&, B&) const [with Mat =
> 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>, B = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:83:   instantiated from 'void 
> dolfin::uBlasLUSolver::invert(Mat&) const [with Mat = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasMatrix.h:225:   instantiated from 'void 
> dolfin::uBlasMatrix<Mat>::invert() [with Mat = dolfin::ublas_sparse_matrix]'
> dolfin_wrap.cpp:11026:   instantiated from here
> /usr/local/include/boost/numeric/ublas/lu.hpp:137: error: no matching
> function 
> for call to 
> 'project
(boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_
matrix>
> 
> >&, boost::numeric::ublas::basic_range<long unsigned int, long int>)'
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:492: note: candidates
> 
> are: boost::numeric::ublas::vector_range<V> 
> boost::numeric::ublas::project(V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:497: note:           
>      
> const boost::numeric::ublas::vector_range<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:990: note:           
>      
> boost::numeric::ublas::vector_slice<V> boost::numeric::ublas::project(V&, 
> const typename boost::numeric::ublas::vector_slice<E>::slice_type&) [with V =
> 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:995: note:           
>      
> const boost::numeric::ublas::vector_slice<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_slice<E>::slice_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:98:   instantiated from 
> 'dolfin::uint dolfin::uBlasLUSolver::solveInPlace(Mat&, B&) const [with Mat =
> 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>, B = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:83:   instantiated from 'void 
> dolfin::uBlasLUSolver::invert(Mat&) const [with Mat = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasMatrix.h:225:   instantiated from 'void 
> dolfin::uBlasMatrix<Mat>::invert() [with Mat = dolfin::ublas_sparse_matrix]'
> dolfin_wrap.cpp:11026:   instantiated from here
> /usr/local/include/boost/numeric/ublas/lu.hpp:146: error: no matching
> function 
> for call to 
> 'project
(boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_
matrix>
> 
> >&, boost::numeric::ublas::basic_range<long unsigned int, long int>)'
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:492: note: candidates
> 
> are: boost::numeric::ublas::vector_range<V> 
> boost::numeric::ublas::project(V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:497: note:           
>      
> const boost::numeric::ublas::vector_range<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:990: note:           
>      
> boost::numeric::ublas::vector_slice<V> boost::numeric::ublas::project(V&, 
> const typename boost::numeric::ublas::vector_slice<E>::slice_type&) [with V =
> 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:995: note:           
>      
> const boost::numeric::ublas::vector_slice<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_slice<E>::slice_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:98:   instantiated from 
> 'dolfin::uint dolfin::uBlasLUSolver::solveInPlace(Mat&, B&) const [with Mat =
> 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>, B = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:83:   instantiated from 'void 
> dolfin::uBlasLUSolver::invert(Mat&) const [with Mat = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasMatrix.h:225:   instantiated from 'void 
> dolfin::uBlasMatrix<Mat>::invert() [with Mat = dolfin::ublas_sparse_matrix]'
> dolfin_wrap.cpp:11026:   instantiated from here
> /usr/local/include/boost/numeric/ublas/lu.hpp:150: error: no matching
> function 
> for call to 'project(dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>&, 
> boost::numeric::ublas::basic_range<long unsigned int, long int>, 
> boost::numeric::ublas::basic_range<long unsigned int, long int>)'
> /usr/local/include/boost/numeric/ublas/matrix_proxy.hpp:3123: note:
> candidates 
> are: boost::numeric::ublas::matrix_range<M> 
> boost::numeric::ublas::project(M&, const typename 
> boost::numeric::ublas::matrix_range<E>::range_type&, const typename 
> boost::numeric::ublas::matrix_range<E>::range_type&) [with M = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]
> /usr/local/include/boost/numeric/ublas/matrix_proxy.hpp:3128: note:          
>       
> const boost::numeric::ublas::matrix_range<const M> 
> boost::numeric::ublas::project(const M&, const typename 
> boost::numeric::ublas::matrix_range<E>::range_type&, const typename 
> boost::numeric::ublas::matrix_range<E>::range_type&) [with M = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]
> /usr/local/include/boost/numeric/ublas/matrix_proxy.hpp:4027: note:          
>       
> boost::numeric::ublas::matrix_slice<M> boost::numeric::ublas::project(M&, 
> const typename boost::numeric::ublas::matrix_slice<E>::slice_type&, const 
> typename boost::numeric::ublas::matrix_slice<E>::slice_type&) [with M = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]
> /usr/local/include/boost/numeric/ublas/matrix_proxy.hpp:4032: note:          
>       
> const boost::numeric::ublas::matrix_slice<const M> 
> boost::numeric::ublas::project(const M&, const typename 
> boost::numeric::ublas::matrix_slice<E>::slice_type&, const typename 
> boost::numeric::ublas::matrix_slice<E>::slice_type&) [with M = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]
> /usr/local/include/boost/numeric/ublas/lu.hpp:150: error: no matching
> function 
> for call to 
> 'project
(boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_
matrix>
> 
> >&, boost::numeric::ublas::basic_range<long unsigned int, long int>)'
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:492: note: candidates
> 
> are: boost::numeric::ublas::vector_range<V> 
> boost::numeric::ublas::project(V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:497: note:           
>      
> const boost::numeric::ublas::vector_range<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:990: note:           
>      
> boost::numeric::ublas::vector_slice<V> boost::numeric::ublas::project(V&, 
> const typename boost::numeric::ublas::vector_slice<E>::slice_type&) [with V =
> 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:995: note:           
>      
> const boost::numeric::ublas::vector_slice<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_slice<E>::slice_type&) [with V = 
> 
boost::numeric::ublas::matrix_column<dolfin::uBlasMatrix<dolfin::ublas_sparse_m
atrix>
> 
> >]
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:98:   instantiated from 
> 'dolfin::uint dolfin::uBlasLUSolver::solveInPlace(Mat&, B&) const [with Mat =
> 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>, B = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasLUSolver.h:83:   instantiated from 'void 
> dolfin::uBlasLUSolver::invert(Mat&) const [with Mat = 
> dolfin::uBlasMatrix<dolfin::ublas_sparse_matrix>]'
> ../../src/kernel/la/dolfin/uBlasMatrix.h:225:   instantiated from 'void 
> dolfin::uBlasMatrix<Mat>::invert() [with Mat = dolfin::ublas_sparse_matrix]'
> dolfin_wrap.cpp:11026:   instantiated from here
> /usr/local/include/boost/numeric/ublas/lu.hpp:150: error: no matching
> function 
> for call to 
> 'project
(boost::numeric::ublas::matrix_row<dolfin::uBlasMatrix<dolfin::ublas_sparse_mat
rix>
> 
> >&, boost::numeric::ublas::basic_range<long unsigned int, long int>)'
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:492: note: candidates
> 
> are: boost::numeric::ublas::vector_range<V> 
> boost::numeric::ublas::project(V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_row<dolfin::uBlasMatrix<dolfin::ublas_sparse_matr
ix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:497: note:           
>      
> const boost::numeric::ublas::vector_range<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_range<E>::range_type&) [with V = 
> 
boost::numeric::ublas::matrix_row<dolfin::uBlasMatrix<dolfin::ublas_sparse_matr
ix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:990: note:           
>      
> boost::numeric::ublas::vector_slice<V> boost::numeric::ublas::project(V&, 
> const typename boost::numeric::ublas::vector_slice<E>::slice_type&) [with V =
> 
> 
boost::numeric::ublas::matrix_row<dolfin::uBlasMatrix<dolfin::ublas_sparse_matr
ix>
> 
> >]
> /usr/local/include/boost/numeric/ublas/vector_proxy.hpp:995: note:           
>      
> const boost::numeric::ublas::vector_slice<const V> 
> boost::numeric::ublas::project(const V&, const typename 
> boost::numeric::ublas::vector_slice<E>::slice_type&) [with V = 
> 
boost::numeric::ublas::matrix_row<dolfin::uBlasMatrix<dolfin::ublas_sparse_matr
ix>
> 
> >]
> make[3]: *** [_dolfin_la-dolfin_wrap.lo] Error 1
> make[3]: Leaving directory `/home/osman/SRC/dolfin-0.6.2-1/src/pydolfin'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/osman/SRC/dolfin-0.6.2-1/src/pydolfin'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/osman/SRC/dolfin-0.6.2-1/src'
> make: *** [all-recursive] Error 1
> linux:/home/osman/SRC/dolfin-0.6.2-1 #  
> 
> -- 
> Osman F. Buyukisik
> 


References