dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #03288
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