getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] (no subject)


From: Bharat Bhushan
Subject: Re: [Getfem-users] (no subject)
Date: Fri, 5 May 2017 12:05:42 +0530

Dear sir,
Thanks for the reply.
As you suggested, i tried to use the generic assembly language to find
out the countour integral for the stress intensity factors. but i am
not able to use the c++ interface of getfem properly as its giving the
errors when i compile any of the test functions.
Also i am more familier with the python interface. Can i calculate the
countour integral using only python interface?
Please suggest some method so that i can calculate the stress
intensity factor for the xfem problem.

I have installed getfem in ubuntu and i tried to run the c++ test
functinos using the command gcc laplacian.cc, but i am getting the
long error like following every time.

thank you


address@hidden gcc laplacian.cc
In file included from /usr/local/include/gmm/gmm_except.h:45:0,
                 from /usr/local/include/gmm/gmm_ref.h:46,
                 from /usr/local/include/gmm/gmm_def.h:40,
                 from /usr/local/include/gmm/gmm_kernel.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:40,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/gmm/gmm_std.h:136:15: error: ‘unique_ptr’ does not
name a type
     { typedef unique_ptr<_Tp> __single_object; };
               ^
/usr/local/include/gmm/gmm_std.h:139:15: error: ‘unique_ptr’ does not
name a type
     { typedef unique_ptr<_Tp[]> __array; };
               ^
/usr/local/include/gmm/gmm_std.h:146:22: error: expected ‘,’ or ‘...’
before ‘&&’ token
     make_unique(_Args&&... __args)
                      ^
/usr/local/include/gmm/gmm_std.h:146:34: error: parameter packs not
expanded with ‘...’:
     make_unique(_Args&&... __args)
                                  ^
/usr/local/include/gmm/gmm_std.h:146:34: note:         ‘_Args’
/usr/local/include/gmm/gmm_std.h: In function ‘typename
std::_MakeUniq<_Tp>::__single_object std::make_unique(<type error>)’:
/usr/local/include/gmm/gmm_std.h:147:14: error: ‘unique_ptr’ was not
declared in this scope
     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
              ^
/usr/local/include/gmm/gmm_std.h:147:28: error: expected
primary-expression before ‘>’ token
     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
                            ^
/usr/local/include/gmm/gmm_std.h:147:38: error: ‘forward’ is not a
member of ‘std’
     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
                                      ^
/usr/local/include/gmm/gmm_std.h:147:56: error: expected
primary-expression before ‘>’ token
     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
                                                        ^
/usr/local/include/gmm/gmm_std.h:147:58: error: ‘__args’ was not
declared in this scope
     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
                                                          ^
/usr/local/include/gmm/gmm_std.h: In function ‘typename
std::_MakeUniq<_Tp>::__array std::make_unique(std::size_t)’:
/usr/local/include/gmm/gmm_std.h:152:14: error: ‘unique_ptr’ was not
declared in this scope
     { return unique_ptr<_Tp>(new typename remove_extent<_Tp>::type[__num]()); }
              ^
/usr/local/include/gmm/gmm_std.h:152:28: error: expected
primary-expression before ‘>’ token
     { return unique_ptr<_Tp>(new typename remove_extent<_Tp>::type[__num]()); }
                            ^
/usr/local/include/gmm/gmm_std.h:152:43: error: expected
nested-name-specifier before ‘remove_extent’
     { return unique_ptr<_Tp>(new typename remove_extent<_Tp>::type[__num]()); }
                                           ^
/usr/local/include/gmm/gmm_std.h:152:43: error: expected ‘)’ before
‘remove_extent’
/usr/local/include/gmm/gmm_std.h: At global scope:
/usr/local/include/gmm/gmm_std.h:156:22: error: expected ‘,’ or ‘...’
before ‘&&’ token
     make_unique(_Args&&...) = delete;
                      ^
/usr/local/include/gmm/gmm_std.h:156:27: error: parameter packs not
expanded with ‘...’:
     make_unique(_Args&&...) = delete;
                           ^
/usr/local/include/gmm/gmm_std.h:156:27: note:         ‘_Args’
/usr/local/include/gmm/gmm_std.h:162:60: error: expected template-name
before ‘<’ token
   template <typename T> class shared_array_ptr : shared_ptr<T> {
                                                            ^
/usr/local/include/gmm/gmm_std.h:162:60: error: expected ‘{’ before ‘<’ token
/usr/local/include/gmm/gmm_std.h:162:60: error: expected
unqualified-id before ‘<’ token
In file included from /usr/local/include/gmm/gmm_kernel.h:42:0,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:40,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/gmm/gmm_blas.h: In function ‘gmm::size_type
gmm::nnz(const L&, gmm::abstract_vector)’:
/usr/local/include/gmm/gmm_blas.h:73:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(l), ite = vect_const_end(l);
          ^
/usr/local/include/gmm/gmm_blas.h:75:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it) ++res;
            ^
/usr/local/include/gmm/gmm_blas.h:75:18: error: ‘ite’ was not declared
in this scope
     for (; it != ite; ++it) ++res;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::strongest_value_type<V1, V2>::value_type gmm::vect_sp(const V1&,
const V2&, gmm::abstract_skyline, gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:436:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(v1), ite1 =  vect_const_end(v1);
          ^
/usr/local/include/gmm/gmm_blas.h:437:10: error: ‘it2’ does not name a type
     auto it2 = vect_const_begin(v2), ite2 =  vect_const_end(v2);
          ^
/usr/local/include/gmm/gmm_blas.h:438:28: error: ‘ite1’ was not
declared in this scope
     size_type n = std::min(ite1.index(), ite2.index());
                            ^
/usr/local/include/gmm/gmm_blas.h:438:42: error: ‘ite2’ was not
declared in this scope
     size_type n = std::min(ite1.index(), ite2.index());
                                          ^
/usr/local/include/gmm/gmm_blas.h:439:28: error: ‘it1’ was not
declared in this scope
     size_type l = std::max(it1.index(), it2.index());
                            ^
/usr/local/include/gmm/gmm_blas.h:439:41: error: ‘it2’ was not
declared in this scope
     size_type l = std::max(it1.index(), it2.index());
                                         ^
/usr/local/include/gmm/gmm_blas.h:443:40: error: ‘q’ was not declared
in this scope
       return vect_sp_dense_(it1+m, it1+q, it2 + p);
                                        ^
/usr/local/include/gmm/gmm_blas.h:443:49: error: ‘p’ was not declared
in this scope
       return vect_sp_dense_(it1+m, it1+q, it2 + p);
                                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type
gmm::vect_norm2_sqr(const V&)’:
/usr/local/include/gmm/gmm_blas.h:547:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(v), ite = vect_const_end(v);
          ^
/usr/local/include/gmm/gmm_blas.h:549:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it) res += gmm::abs_sqr(*it);
            ^
/usr/local/include/gmm/gmm_blas.h:549:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) res += gmm::abs_sqr(*it);
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type
gmm::vect_dist2_sqr(const V1&, const V2&)’:
/usr/local/include/gmm/gmm_blas.h:568:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(v1), ite1 = vect_const_end(v1);
          ^
/usr/local/include/gmm/gmm_blas.h:569:10: error: ‘it2’ does not name a type
     auto it2 = vect_const_begin(v2), ite2 = vect_const_end(v2);
          ^
/usr/local/include/gmm/gmm_blas.h:572:12: error: ‘it1’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
            ^
/usr/local/include/gmm/gmm_blas.h:572:19: error: ‘ite1’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
                   ^
/usr/local/include/gmm/gmm_blas.h:572:27: error: ‘it2’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
                           ^
/usr/local/include/gmm/gmm_blas.h:572:34: error: ‘ite2’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
                                  ^
/usr/local/include/gmm/gmm_blas.h:588:12: error: ‘it1’ was not
declared in this scope
     while (it1 != ite1) { res += gmm::abs_sqr(*it1); ++it1; }
            ^
/usr/local/include/gmm/gmm_blas.h:588:19: error: ‘ite1’ was not
declared in this scope
     while (it1 != ite1) { res += gmm::abs_sqr(*it1); ++it1; }
                   ^
/usr/local/include/gmm/gmm_blas.h:589:12: error: ‘it2’ was not
declared in this scope
     while (it2 != ite2) { res += gmm::abs_sqr(*it2); ++it2; }
            ^
/usr/local/include/gmm/gmm_blas.h:589:19: error: ‘ite2’ was not
declared in this scope
     while (it2 != ite2) { res += gmm::abs_sqr(*it2); ++it2; }
                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type
gmm::vect_norm1(const V&)’:
/usr/local/include/gmm/gmm_blas.h:647:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(v), ite = vect_const_end(v);
          ^
/usr/local/include/gmm/gmm_blas.h:650:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it) res += gmm::abs(*it);
            ^
/usr/local/include/gmm/gmm_blas.h:650:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) res += gmm::abs(*it);
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type
gmm::vect_norminf(const V&)’:
/usr/local/include/gmm/gmm_blas.h:662:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(v), ite = vect_const_end(v);
          ^
/usr/local/include/gmm/gmm_blas.h:665:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it) res = std::max(res, gmm::abs(*it));
            ^
/usr/local/include/gmm/gmm_blas.h:665:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) res = std::max(res, gmm::abs(*it));
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type
gmm::mat_norm1(const M&, gmm::row_major)’:
/usr/local/include/gmm/gmm_blas.h:694:12: error: ‘row’ does not name a type
       auto row = mat_const_row(m, i);
            ^
/usr/local/include/gmm/gmm_blas.h:695:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(row), ite = vect_const_end(row);
            ^
/usr/local/include/gmm/gmm_blas.h:696:29: error: ‘it’ was not declared
in this scope
       for (size_type k = 0; it != ite; ++it, ++k)
                             ^
/usr/local/include/gmm/gmm_blas.h:696:35: error: ‘ite’ was not
declared in this scope
       for (size_type k = 0; it != ite; ++it, ++k)
                                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘typename
gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type
gmm::mat_norminf(const M&, gmm::col_major)’:
/usr/local/include/gmm/gmm_blas.h:748:12: error: ‘col’ does not name a type
       auto col = mat_const_col(m, i);
            ^
/usr/local/include/gmm/gmm_blas.h:749:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(col), ite = vect_const_end(col);
            ^
/usr/local/include/gmm/gmm_blas.h:750:29: error: ‘it’ was not declared
in this scope
       for (size_type k = 0; it != ite; ++it, ++k)
                             ^
/usr/local/include/gmm/gmm_blas.h:750:35: error: ‘ite’ was not
declared in this scope
       for (size_type k = 0; it != ite; ++it, ++k)
                                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::clean(L&,
double, gmm::abstract_dense, T)’:
/usr/local/include/gmm/gmm_blas.h:824:10: error: ‘it’ does not name a type
     auto it = vect_begin(l), ite = vect_end(l);
          ^
/usr/local/include/gmm/gmm_blas.h:825:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:825:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::clean(L&,
double, gmm::abstract_sparse, T)’:
/usr/local/include/gmm/gmm_blas.h:836:10: error: ‘it’ does not name a type
     auto it = vect_begin(l), ite = vect_end(l);
          ^
/usr/local/include/gmm/gmm_blas.h:838:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:838:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::clean(L&,
double, gmm::abstract_dense, std::complex<_Up>)’:
/usr/local/include/gmm/gmm_blas.h:845:10: error: ‘it’ does not name a type
     auto it = vect_begin(l), ite = vect_end(l);
          ^
/usr/local/include/gmm/gmm_blas.h:846:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it){
            ^
/usr/local/include/gmm/gmm_blas.h:846:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it){
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::clean(L&,
double, gmm::abstract_sparse, std::complex<_Up>)’:
/usr/local/include/gmm/gmm_blas.h:860:10: error: ‘it’ does not name a type
     auto it = vect_begin(l), ite = vect_end(l);
          ^
/usr/local/include/gmm/gmm_blas.h:862:12: error: ‘it’ was not declared
in this scope
     for (; it != ite; ++it) {
            ^
/usr/local/include/gmm/gmm_blas.h:862:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) {
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_mat_mixed_rc(const L1&, L2&, gmm::size_type,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1031:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1032:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1032:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_mat_mixed_rc(const L1&, L2&, gmm::size_type,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1038:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1039:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1039:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_mat_mixed_rc(const L1&, L2&, gmm::size_type,
gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1045:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1046:27: error: ‘it’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(i, j) = *it;
                           ^
/usr/local/include/gmm/gmm_blas.h:1046:33: error: ‘ite’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(i, j) = *it;
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_mat_mixed_cr(const L1&, L2&, gmm::size_type,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1056:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1057:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) = *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1057:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) = *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_mat_mixed_cr(const L1&, L2&, gmm::size_type,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1062:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1063:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) = *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1063:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) = *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_mat_mixed_cr(const L1&, L2&, gmm::size_type,
gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1068:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1069:27: error: ‘it’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(j, i) = *it;
                           ^
/usr/local/include/gmm/gmm_blas.h:1069:33: error: ‘ite’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(j, i) = *it;
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_skyline,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1095:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1096:12: error: ‘it1’ was not
declared in this scope
     while (it1 != ite1 && *it1 == typename linalg_traits<L1>::value_type(0))
            ^
/usr/local/include/gmm/gmm_blas.h:1096:19: error: ‘ite1’ was not
declared in this scope
     while (it1 != ite1 && *it1 == typename linalg_traits<L1>::value_type(0))
                   ^
/usr/local/include/gmm/gmm_blas.h:1099:9: error: ‘ite1’ was not
declared in this scope
     if (ite1 - it1 > 0) {
         ^
/usr/local/include/gmm/gmm_blas.h:1099:16: error: ‘it1’ was not
declared in this scope
     if (ite1 - it1 > 0) {
                ^
/usr/local/include/gmm/gmm_blas.h:1101:12: error: ‘it2’ does not name a type
       auto it2 = vect_begin(l2), ite2 = vect_end(l2);
            ^
/usr/local/include/gmm/gmm_blas.h:1104:11: error: ‘it2’ was not
declared in this scope
       if (it2 == ite2) {
           ^
/usr/local/include/gmm/gmm_blas.h:1104:18: error: ‘ite2’ was not
declared in this scope
       if (it2 == ite2) {
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_sparse,
gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1128:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1129:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) { l2[it.index()] = *it; }
            ^
/usr/local/include/gmm/gmm_blas.h:1129:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) { l2[it.index()] = *it; }
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_sparse,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1135:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1136:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2[it.index()] = *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1136:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2[it.index()] = *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_skyline,
gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1142:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1143:9: error: ‘it’ was not declared
in this scope
     if (it == ite)
         ^
/usr/local/include/gmm/gmm_blas.h:1143:15: error: ‘ite’ was not
declared in this scope
     if (it == ite)
               ^
/usr/local/include/gmm/gmm_blas.h:1146:12: error: ‘it2’ does not name a type
       auto it2 = vect_begin(l2), ite2 = vect_end(l2);
            ^
/usr/local/include/gmm/gmm_blas.h:1149:12: error: ‘j’ was not declared
in this scope
       for (j = 0; j < i; ++j, ++it2) *it2 = T(0);
            ^
/usr/local/include/gmm/gmm_blas.h:1149:33: error: ‘it2’ was not
declared in this scope
       for (j = 0; j < i; ++j, ++it2) *it2 = T(0);
                                 ^
/usr/local/include/gmm/gmm_blas.h:1150:33: error: ‘it2’ was not
declared in this scope
       for (; it != ite; ++it, ++it2) *it2 = *it;
                                 ^
/usr/local/include/gmm/gmm_blas.h:1151:14: error: ‘it2’ was not
declared in this scope
       for (; it2 != ite2; ++it2) *it2 = T(0);
              ^
/usr/local/include/gmm/gmm_blas.h:1151:21: error: ‘ite2’ was not
declared in this scope
       for (; it2 != ite2; ++it2) *it2 = T(0);
                     ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_sparse,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1157:11: error: ‘it’ does not name a type
     auto  it  = vect_const_begin(l1), ite = vect_const_end(l1);
           ^
/usr/local/include/gmm/gmm_blas.h:1159:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1159:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_dense,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1167:11: error: ‘it’ does not name a type
     auto  it  = vect_const_begin(l1), ite = vect_const_end(l1);
           ^
/usr/local/include/gmm/gmm_blas.h:1168:27: error: ‘it’ was not
declared in this scope
     for (size_type i = 0; it != ite; ++it, ++i)
                           ^
/usr/local/include/gmm/gmm_blas.h:1168:33: error: ‘ite’ was not
declared in this scope
     for (size_type i = 0; it != ite; ++it, ++i)
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_dense,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1176:11: error: ‘it’ does not name a type
     auto  it  = vect_const_begin(l1), ite = vect_const_end(l1);
           ^
/usr/local/include/gmm/gmm_blas.h:1177:27: error: ‘it’ was not
declared in this scope
     for (size_type i = 0; it != ite; ++it, ++i)
                           ^
/usr/local/include/gmm/gmm_blas.h:1177:33: error: ‘ite’ was not
declared in this scope
     for (size_type i = 0; it != ite; ++it, ++i)
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::copy_vect(const L1&, L2&, gmm::abstract_skyline,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1186:11: error: ‘it’ does not name a type
     auto  it  = vect_const_begin(l1), ite = vect_const_end(l1);
           ^
/usr/local/include/gmm/gmm_blas.h:1187:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1187:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::row_major, gmm::row_major)’:
/usr/local/include/gmm/gmm_blas.h:1230:10: error: ‘it1’ does not name a type
     auto it1 = mat_row_begin(l1), ite = mat_row_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1231:10: error: ‘it2’ does not name a type
     auto it2 = mat_row_begin(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1232:13: error: ‘it1’ was not
declared in this scope
     for ( ; it1 != ite; ++it1, ++it2)
             ^
/usr/local/include/gmm/gmm_blas.h:1232:20: error: ‘ite’ was not
declared in this scope
     for ( ; it1 != ite; ++it1, ++it2)
                    ^
/usr/local/include/gmm/gmm_blas.h:1232:34: error: ‘it2’ was not
declared in this scope
     for ( ; it1 != ite; ++it1, ++it2)
                                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::col_major, gmm::col_major)’:
/usr/local/include/gmm/gmm_blas.h:1238:10: error: ‘it1’ does not name a type
     auto it1 = mat_col_const_begin(l1), ite = mat_col_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1240:13: error: ‘it1’ was not
declared in this scope
     for ( ; it1 != ite; ++it1, ++it2)
             ^
/usr/local/include/gmm/gmm_blas.h:1240:20: error: ‘ite’ was not
declared in this scope
     for ( ; it1 != ite; ++it1, ++it2)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_mat_mixed_rc(const L1&, L2&, gmm::size_type,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1251:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1252:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2(i, it.index()) += *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1252:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2(i, it.index()) += *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_mat_mixed_rc(const L1&, L2&, gmm::size_type,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1257:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1258:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2(i, it.index()) += *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1258:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2(i, it.index()) += *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_mat_mixed_rc(const L1&, L2&, gmm::size_type,
gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1263:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1264:27: error: ‘it’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(i, j) += *it;
                           ^
/usr/local/include/gmm/gmm_blas.h:1264:33: error: ‘ite’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(i, j) += *it;
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_mat_mixed_cr(const L1&, L2&, gmm::size_type,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1274:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1275:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) += *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1275:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) += *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_mat_mixed_cr(const L1&, L2&, gmm::size_type,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1280:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1281:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) += *it;
            ^
/usr/local/include/gmm/gmm_blas.h:1281:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it) l2(it.index(), i) += *it;
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_mat_mixed_cr(const L1&, L2&, gmm::size_type,
gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1286:10: error: ‘it’ does not name a type
     auto it  = vect_const_begin(l1), ite = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1287:27: error: ‘it’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(j, i) += *it;
                           ^
/usr/local/include/gmm/gmm_blas.h:1287:33: error: ‘ite’ was not
declared in this scope
     for (size_type j = 0; it != ite; ++it, ++j) l2(j, i) += *it;
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::add_spspsp(const L1&, const L2&, L3&, gmm::linalg_true)’:
/usr/local/include/gmm/gmm_blas.h:1446:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1447:10: error: ‘it2’ does not name a type
     auto it2 = vect_const_begin(l2), ite2 = vect_const_end(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1449:12: error: ‘it1’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
            ^
/usr/local/include/gmm/gmm_blas.h:1449:19: error: ‘ite1’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
                   ^
/usr/local/include/gmm/gmm_blas.h:1449:27: error: ‘it2’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
                           ^
/usr/local/include/gmm/gmm_blas.h:1449:34: error: ‘ite2’ was not
declared in this scope
     while (it1 != ite1 && it2 != ite2) {
                                  ^
/usr/local/include/gmm/gmm_blas.h:1458:12: error: ‘it1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l3[it1.index()] += *it1;
            ^
/usr/local/include/gmm/gmm_blas.h:1458:19: error: ‘ite1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l3[it1.index()] += *it1;
                   ^
/usr/local/include/gmm/gmm_blas.h:1459:12: error: ‘it2’ was not
declared in this scope
     for (; it2 != ite2; ++it2) l3[it2.index()] += *it2;
            ^
/usr/local/include/gmm/gmm_blas.h:1459:19: error: ‘ite2’ was not
declared in this scope
     for (; it2 != ite2; ++it2) l3[it2.index()] += *it2;
                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_dense, gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1476:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1477:10: error: ‘it2’ does not name a type
     auto it2 = vect_begin(l2), ite = vect_end(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1478:12: error: ‘it2’ was not
declared in this scope
     for (; it2 != ite; ++it2, ++it1) *it2 += *it1;
            ^
/usr/local/include/gmm/gmm_blas.h:1478:19: error: ‘ite’ was not
declared in this scope
     for (; it2 != ite; ++it2, ++it1) *it2 += *it1;
                   ^
/usr/local/include/gmm/gmm_blas.h:1478:33: error: ‘it1’ was not
declared in this scope
     for (; it2 != ite; ++it2, ++it1) *it2 += *it1;
                                 ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_dense, gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1485:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1487:12: error: ‘it1’ was not
declared in this scope
     while (it1 != ite1 && *it1 == T(0)) { ++it1; ++i1; }
            ^
/usr/local/include/gmm/gmm_blas.h:1487:19: error: ‘ite1’ was not
declared in this scope
     while (it1 != ite1 && *it1 == T(0)) { ++it1; ++i1; }
                   ^
/usr/local/include/gmm/gmm_blas.h:1488:9: error: ‘it1’ was not
declared in this scope
     if (it1 != ite1) {
         ^
/usr/local/include/gmm/gmm_blas.h:1488:16: error: ‘ite1’ was not
declared in this scope
     if (it1 != ite1) {
                ^
/usr/local/include/gmm/gmm_blas.h:1489:12: error: ‘it2’ does not name a type
       auto it2 = vect_begin(l2), ite2 = vect_end(l2);
            ^
/usr/local/include/gmm/gmm_blas.h:1492:11: error: ‘it2’ was not
declared in this scope
       if (it2 == ite2 || i1 < it2.index()) {
           ^
/usr/local/include/gmm/gmm_blas.h:1492:18: error: ‘ite2’ was not
declared in this scope
       if (it2 == ite2 || i1 < it2.index()) {
                  ^
/usr/local/include/gmm/gmm_blas.h:1497:17: error: ‘ite2’ was not
declared in this scope
       if (ie1 > ite2.index()) {
                 ^
/usr/local/include/gmm/gmm_blas.h:1499:2: error: ‘it2’ was not
declared in this scope
  it2 = vect_begin(l2);
  ^
/usr/local/include/gmm/gmm_blas.h:1501:7: error: ‘it2’ was not
declared in this scope
       it2 += i1 - it2.index();
       ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_skyline, gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1509:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1510:9: error: ‘it1’ was not
declared in this scope
     if (it1 != ite1) {
         ^
/usr/local/include/gmm/gmm_blas.h:1510:16: error: ‘ite1’ was not
declared in this scope
     if (it1 != ite1) {
                ^
/usr/local/include/gmm/gmm_blas.h:1511:12: error: ‘it2’ does not name a type
       auto it2 = vect_begin(l2);
            ^
/usr/local/include/gmm/gmm_blas.h:1512:7: error: ‘it2’ was not
declared in this scope
       it2 += it1.index();
       ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_sparse, gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1520:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1521:12: error: ‘it1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l2[it1.index()] += *it1;
            ^
/usr/local/include/gmm/gmm_blas.h:1521:19: error: ‘ite1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l2[it1.index()] += *it1;
                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_sparse, gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1526:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1527:12: error: ‘it1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l2[it1.index()] += *it1;
            ^
/usr/local/include/gmm/gmm_blas.h:1527:19: error: ‘ite1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l2[it1.index()] += *it1;
                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_sparse, gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1532:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1533:12: error: ‘it1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l2[it1.index()] += *it1;
            ^
/usr/local/include/gmm/gmm_blas.h:1533:19: error: ‘ite1’ was not
declared in this scope
     for (; it1 != ite1; ++it1) l2[it1.index()] += *it1;
                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_skyline, gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1539:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1540:12: error: ‘it1’ was not
declared in this scope
     for (; it1 != ite1; ++it1)
            ^
/usr/local/include/gmm/gmm_blas.h:1540:19: error: ‘ite1’ was not
declared in this scope
     for (; it1 != ite1; ++it1)
                   ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_skyline, gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1550:10: error: ‘it1’ does not name a type
     auto it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1552:12: error: ‘it1’ was not
declared in this scope
     while (it1 != ite1 && *it1 == T1(0)) ++it1;
            ^
/usr/local/include/gmm/gmm_blas.h:1552:19: error: ‘ite1’ was not
declared in this scope
     while (it1 != ite1 && *it1 == T1(0)) ++it1;
                   ^
/usr/local/include/gmm/gmm_blas.h:1553:9: error: ‘ite1’ was not
declared in this scope
     if (ite1 != it1) {
         ^
/usr/local/include/gmm/gmm_blas.h:1553:17: error: ‘it1’ was not
declared in this scope
     if (ite1 != it1) {
                 ^
/usr/local/include/gmm/gmm_blas.h:1554:12: error: ‘it2’ does not name a type
       auto it2 = vect_begin(l2), ite2 = vect_end(l2);
            ^
/usr/local/include/gmm/gmm_blas.h:1556:11: error: ‘it2’ was not
declared in this scope
       if (it2 == ite2 || it1.index() < it2.index()) {
           ^
/usr/local/include/gmm/gmm_blas.h:1556:18: error: ‘ite2’ was not
declared in this scope
       if (it2 == ite2 || it1.index() < it2.index()) {
                  ^
/usr/local/include/gmm/gmm_blas.h:1560:26: error: ‘ite2’ was not
declared in this scope
       if (ite1.index() > ite2.index()) {
                          ^
/usr/local/include/gmm/gmm_blas.h:1562:2: error: ‘it2’ was not
declared in this scope
  it2 = vect_begin(l2);
  ^
/usr/local/include/gmm/gmm_blas.h:1564:7: error: ‘it2’ was not
declared in this scope
       it2 += it1.index() - it2.index();
       ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void gmm::add(const
L1&, L2&, gmm::abstract_dense, gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1571:11: error: ‘it1’ does not name a type
     auto  it1 = vect_const_begin(l1), ite1 = vect_const_end(l1);
           ^
/usr/local/include/gmm/gmm_blas.h:1572:27: error: ‘it1’ was not
declared in this scope
     for (size_type i = 0; it1 != ite1; ++it1, ++i)
                           ^
/usr/local/include/gmm/gmm_blas.h:1572:34: error: ‘ite1’ was not
declared in this scope
     for (size_type i = 0; it1 != ite1; ++it1, ++i)
                                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_by_row(const L1&, const L2&, L3&, gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1637:10: error: ‘itr’ does not name a type
     auto itr = mat_row_const_begin(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1638:31: error: ‘itr’ was not
declared in this scope
     for (; it != ite; ++it, ++itr)
                               ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_by_col(const L1&, const L2&, L3&, gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1656:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(l2), ite = vect_const_end(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1657:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1657:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_by_col(const L1&, const L2&, L3&, gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1665:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(l2), ite = vect_const_end(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1666:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1666:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_add_by_row(const L1&, const L2&, L3&, gmm::abstract_dense)’:
/usr/local/include/gmm/gmm_blas.h:1757:10: error: ‘it’ does not name a type
     auto it=vect_begin(l3), ite=vect_end(l3);
          ^
/usr/local/include/gmm/gmm_blas.h:1758:10: error: ‘itr’ does not name a type
     auto itr = mat_row_const_begin(l1);
          ^
/usr/local/include/gmm/gmm_blas.h:1759:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it, ++itr)
            ^
/usr/local/include/gmm/gmm_blas.h:1759:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it, ++itr)
                  ^
/usr/local/include/gmm/gmm_blas.h:1759:31: error: ‘itr’ was not
declared in this scope
     for (; it != ite; ++it, ++itr)
                               ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_add_by_col(const L1&, const L2&, L3&,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1772:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(l2), ite = vect_const_end(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1773:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1773:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_add_by_col(const L1&, const L2&, L3&,
gmm::abstract_skyline)’:
/usr/local/include/gmm/gmm_blas.h:1780:10: error: ‘it’ does not name a type
     auto it = vect_const_begin(l2), ite = vect_const_end(l2);
          ^
/usr/local/include/gmm/gmm_blas.h:1781:12: error: ‘it’ was not
declared in this scope
     for (; it != ite; ++it)
            ^
/usr/local/include/gmm/gmm_blas.h:1781:18: error: ‘ite’ was not
declared in this scope
     for (; it != ite; ++it)
                  ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_spec(const L1&, const L2&, L3&, gmm::rcmult)’:
/usr/local/include/gmm/gmm_blas.h:1948:12: error: ‘it2b’ does not name a type
       auto it2b = linalg_traits<L2>::col_begin(l2), it2 = it2b,
            ^
/usr/local/include/gmm/gmm_blas.h:1953:7: error: ‘r1’ does not name a type
  auto r1=mat_const_row(l1, i);
       ^
/usr/local/include/gmm/gmm_blas.h:1954:7: error: ‘it2’ was not
declared in this scope
  for (it2 = it2b, j = 0; it2 != ite; ++it2, ++j)
       ^
/usr/local/include/gmm/gmm_blas.h:1954:13: error: ‘it2b’ was not
declared in this scope
  for (it2 = it2b, j = 0; it2 != ite; ++it2, ++j)
             ^
/usr/local/include/gmm/gmm_blas.h:1954:33: error: ‘ite’ was not
declared in this scope
  for (it2 = it2b, j = 0; it2 != ite; ++it2, ++j)
                                 ^
/usr/local/include/gmm/gmm_blas.h:1955:22: error: ‘r1’ was not
declared in this scope
    l3(i,j) = vect_sp(r1, linalg_traits<L2>::col(it2));
                      ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_spec(const L1&, const L2&, L3&, gmm::r_mult,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:1985:12: error: ‘rl1’ does not name a type
       auto rl1 = mat_const_row(l1, i);
            ^
/usr/local/include/gmm/gmm_blas.h:1986:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(rl1), ite = vect_const_end(rl1);
            ^
/usr/local/include/gmm/gmm_blas.h:1987:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:1987:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_spec(const L1&, const L2&, L3&, gmm::c_mult,
gmm::abstract_sparse, ORIEN)’:
/usr/local/include/gmm/gmm_blas.h:2027:12: error: ‘rc2’ does not name a type
       auto rc2 = mat_const_col(l2, i);
            ^
/usr/local/include/gmm/gmm_blas.h:2028:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(rc2), ite = vect_const_end(rc2);
            ^
/usr/local/include/gmm/gmm_blas.h:2029:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:2029:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘void
gmm::mult_spec(const L1&, const L2&, L3&, gmm::crmult,
gmm::abstract_sparse)’:
/usr/local/include/gmm/gmm_blas.h:2078:12: error: ‘rc1’ does not name a type
       auto rc1 = mat_const_col(l1, i);
            ^
/usr/local/include/gmm/gmm_blas.h:2079:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(rc1), ite = vect_const_end(rc1);
            ^
/usr/local/include/gmm/gmm_blas.h:2080:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:2080:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘bool
gmm::is_symmetric(const MAT&, typename gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type, gmm::row_major)’:
/usr/local/include/gmm/gmm_blas.h:2130:12: error: ‘row’ does not name a type
       auto row = mat_const_row(A, i);
            ^
/usr/local/include/gmm/gmm_blas.h:2131:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(row), ite = vect_const_end(row);
            ^
/usr/local/include/gmm/gmm_blas.h:2132:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:2132:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘bool
gmm::is_symmetric(const MAT&, typename gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type, gmm::col_major)’:
/usr/local/include/gmm/gmm_blas.h:2142:12: error: ‘col’ does not name a type
       auto col = mat_const_col(A, i);
            ^
/usr/local/include/gmm/gmm_blas.h:2143:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(col), ite = vect_const_end(col);
            ^
/usr/local/include/gmm/gmm_blas.h:2144:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:2144:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘bool
gmm::is_hermitian(const MAT&, typename gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type, gmm::row_major)’:
/usr/local/include/gmm/gmm_blas.h:2191:12: error: ‘row’ does not name a type
       auto row = mat_const_row(A, i);
            ^
/usr/local/include/gmm/gmm_blas.h:2192:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(row), ite = vect_const_end(row);
            ^
/usr/local/include/gmm/gmm_blas.h:2193:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:2193:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
/usr/local/include/gmm/gmm_blas.h: In function ‘bool
gmm::is_hermitian(const MAT&, typename gmm::number_traits<typename
gmm::linalg_traits<V>::value_type>::magnitude_type, gmm::col_major)’:
/usr/local/include/gmm/gmm_blas.h:2203:12: error: ‘col’ does not name a type
       auto col = mat_const_col(A, i);
            ^
/usr/local/include/gmm/gmm_blas.h:2204:12: error: ‘it’ does not name a type
       auto it = vect_const_begin(col), ite = vect_const_end(col);
            ^
/usr/local/include/gmm/gmm_blas.h:2205:14: error: ‘it’ was not
declared in this scope
       for (; it != ite; ++it)
              ^
/usr/local/include/gmm/gmm_blas.h:2205:20: error: ‘ite’ was not
declared in this scope
       for (; it != ite; ++it)
                    ^
In file included from /usr/local/include/getfem/dal_singleton.h:48:0,
                 from /usr/local/include/getfem/bgeot_small_vector.h:40,
                 from /usr/local/include/getfem/bgeot_tensor.h:40,
                 from /usr/local/include/getfem/bgeot_convex_structure.h:43,
                 from /usr/local/include/getfem/bgeot_mesh_structure.h:42,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/getfem_omp.h: At global scope:
/usr/local/include/getfem/getfem_omp.h:165:24: error: expected ‘,’ or
‘...’ before ‘&&’ token
     omp_distribute(Args&&... value){
                        ^
/usr/local/include/getfem/getfem_omp.h:165:35: error: parameter packs
not expanded with ‘...’:
     omp_distribute(Args&&... value){
                                   ^
/usr/local/include/getfem/getfem_omp.h:165:35: note:         ‘Args’
/usr/local/include/getfem/getfem_omp.h: In constructor
‘getfem::omp_distribute<T>::omp_distribute(<type error>)’:
/usr/local/include/getfem/getfem_omp.h:166:80: error: ‘value’ was not
declared in this scope
       for (size_type i = 0; i < num_threads(); ++i)
thread_values.emplace_back(value...);

         ^
/usr/local/include/getfem/getfem_omp.h: At global scope:
/usr/local/include/getfem/getfem_omp.h:340:5: error: ‘shared_ptr’ in
namespace ‘std’ does not name a type
     std::shared_ptr<mesh_region> original_region;
     ^
/usr/local/include/getfem/getfem_omp.h:379:17: error: ‘exception_ptr’
is not a member of ‘std’
     std::vector<std::exception_ptr> caughtExceptions() const;
                 ^
/usr/local/include/getfem/getfem_omp.h:379:17: error: ‘exception_ptr’
is not a member of ‘std’
/usr/local/include/getfem/getfem_omp.h:379:35: error: template
argument 1 is invalid
     std::vector<std::exception_ptr> caughtExceptions() const;
                                   ^
/usr/local/include/getfem/getfem_omp.h:379:35: error: template
argument 2 is invalid
/usr/local/include/getfem/getfem_omp.h:385:17: error: ‘exception_ptr’
is not a member of ‘std’
     std::vector<std::exception_ptr> exceptions_;
                 ^
/usr/local/include/getfem/getfem_omp.h:385:17: error: ‘exception_ptr’
is not a member of ‘std’
/usr/local/include/getfem/getfem_omp.h:385:35: error: template
argument 1 is invalid
     std::vector<std::exception_ptr> exceptions_;
                                   ^
/usr/local/include/getfem/getfem_omp.h:385:35: error: template
argument 2 is invalid
In file included from /usr/local/include/getfem/bgeot_small_vector.h:40:0,
                 from /usr/local/include/getfem/bgeot_tensor.h:40,
                 from /usr/local/include/getfem/bgeot_convex_structure.h:43,
                 from /usr/local/include/getfem/bgeot_mesh_structure.h:42,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/dal_singleton.h:62:65: error: ‘>>’ should be
‘> >’ within a nested template argument list
     getfem::omp_distribute<std::vector<singleton_instance_base *>> lst;
                                                                 ^
In file included from /usr/local/include/getfem/bgeot_convex_structure.h:45:0,
                 from /usr/local/include/getfem/bgeot_mesh_structure.h:42,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/dal_static_stored_objects.h:195:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const static_stored_object_key>
           ^
/usr/local/include/getfem/dal_static_stored_objects.h:204:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const static_stored_object> pstatic_stored_object;
           ^
/usr/local/include/getfem/dal_static_stored_objects.h:206:3: error:
‘pstatic_stored_object_key’ does not name a type
   pstatic_stored_object_key key_of_stored_object(pstatic_stored_object o);
   ^
/usr/local/include/getfem/dal_static_stored_objects.h:209:3: error:
‘pstatic_stored_object’ does not name a type
   pstatic_stored_object search_stored_object(pstatic_stored_object_key k);
   ^
/usr/local/include/getfem/dal_static_stored_objects.h:212:29: error:
‘pstatic_stored_object’ was not declared in this scope
   bool exists_stored_object(pstatic_stored_object o);
                             ^
/usr/local/include/getfem/dal_static_stored_objects.h:215:23: error:
variable or field ‘add_dependency’ declared void
   void add_dependency(pstatic_stored_object o1, pstatic_stored_object o2);
                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:215:23: error:
‘pstatic_stored_object’ was not declared in this scope
/usr/local/include/getfem/dal_static_stored_objects.h:215:49: error:
‘pstatic_stored_object’ was not declared in this scope
   void add_dependency(pstatic_stored_object o1, pstatic_stored_object o2);
                                                 ^
/usr/local/include/getfem/dal_static_stored_objects.h:218:23: error:
‘pstatic_stored_object’ was not declared in this scope
   bool del_dependency(pstatic_stored_object o1, pstatic_stored_object o2);
                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:218:49: error:
‘pstatic_stored_object’ was not declared in this scope
   bool del_dependency(pstatic_stored_object o1, pstatic_stored_object o2);
                                                 ^
/usr/local/include/getfem/dal_static_stored_objects.h:218:73: error:
expression list treated as compound expression in initializer
[-fpermissive]
   bool del_dependency(pstatic_stored_object o1, pstatic_stored_object o2);
                                                                         ^
/usr/local/include/getfem/dal_static_stored_objects.h:221:26: error:
variable or field ‘add_stored_object’ declared void
   void add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                          ^
/usr/local/include/getfem/dal_static_stored_objects.h:221:26: error:
‘pstatic_stored_object_key’ was not declared in this scope
/usr/local/include/getfem/dal_static_stored_objects.h:221:55: error:
‘pstatic_stored_object’ was not declared in this scope
   void add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                                                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:222:16: error:
expected primary-expression before ‘perm’
     permanence perm = STANDARD_STATIC_OBJECT);
                ^
/usr/local/include/getfem/dal_static_stored_objects.h:225:23: error:
variable or field ‘add_stored_object’ declared void
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:225:23: error:
‘pstatic_stored_object_key’ was not declared in this scope
/usr/local/include/getfem/dal_static_stored_objects.h:225:52: error:
‘pstatic_stored_object’ was not declared in this scope
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                                                    ^
/usr/local/include/getfem/dal_static_stored_objects.h:226:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1,
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:227:16: error:
expected primary-expression before ‘perm’
     permanence perm = STANDARD_STATIC_OBJECT) {
                ^
/usr/local/include/getfem/dal_static_stored_objects.h:233:23: error:
variable or field ‘add_stored_object’ declared void
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:233:23: error:
‘pstatic_stored_object_key’ was not declared in this scope
/usr/local/include/getfem/dal_static_stored_objects.h:233:52: error:
‘pstatic_stored_object’ was not declared in this scope
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                                                    ^
/usr/local/include/getfem/dal_static_stored_objects.h:234:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1, pstatic_stored_object dep2,
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:234:33: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1, pstatic_stored_object dep2,
                                 ^
/usr/local/include/getfem/dal_static_stored_objects.h:235:16: error:
expected primary-expression before ‘perm’
     permanence perm = STANDARD_STATIC_OBJECT) {
                ^
/usr/local/include/getfem/dal_static_stored_objects.h:242:23: error:
variable or field ‘add_stored_object’ declared void
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:242:23: error:
‘pstatic_stored_object_key’ was not declared in this scope
/usr/local/include/getfem/dal_static_stored_objects.h:242:52: error:
‘pstatic_stored_object’ was not declared in this scope
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                                                    ^
/usr/local/include/getfem/dal_static_stored_objects.h:243:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1, pstatic_stored_object dep2,
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:243:33: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1, pstatic_stored_object dep2,
                                 ^
/usr/local/include/getfem/dal_static_stored_objects.h:244:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep3,
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:245:16: error:
expected primary-expression before ‘perm’
     permanence perm = STANDARD_STATIC_OBJECT) {
                ^
/usr/local/include/getfem/dal_static_stored_objects.h:253:23: error:
variable or field ‘add_stored_object’ declared void
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:253:23: error:
‘pstatic_stored_object_key’ was not declared in this scope
/usr/local/include/getfem/dal_static_stored_objects.h:253:52: error:
‘pstatic_stored_object’ was not declared in this scope
     add_stored_object(pstatic_stored_object_key k, pstatic_stored_object o,
                                                    ^
/usr/local/include/getfem/dal_static_stored_objects.h:254:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1, pstatic_stored_object dep2,
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:254:33: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep1, pstatic_stored_object dep2,
                                 ^
/usr/local/include/getfem/dal_static_stored_objects.h:255:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep3, pstatic_stored_object dep4,
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:255:33: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object dep3, pstatic_stored_object dep4,
                                 ^
/usr/local/include/getfem/dal_static_stored_objects.h:256:16: error:
expected primary-expression before ‘perm’
     permanence perm = STANDARD_STATIC_OBJECT) {
                ^
/usr/local/include/getfem/dal_static_stored_objects.h:265:32: error:
‘pstatic_stored_object’ does not name a type
   void del_stored_object(const pstatic_stored_object &o,
                                ^
/usr/local/include/getfem/dal_static_stored_objects.h:278:37: error:
‘pstatic_stored_object’ was not declared in this scope
   void del_stored_objects(std::list<pstatic_stored_object> &to_delete,
                                     ^
/usr/local/include/getfem/dal_static_stored_objects.h:278:58: error:
template argument 1 is invalid
   void del_stored_objects(std::list<pstatic_stored_object> &to_delete,
                                                          ^
/usr/local/include/getfem/dal_static_stored_objects.h:278:58: error:
template argument 2 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:287:5: error:
‘pstatic_stored_object’ does not name a type
     pstatic_stored_object p;
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:290:14: error:
‘pstatic_stored_object’ was not declared in this scope
     std::set<pstatic_stored_object> dependent_object;
              ^
/usr/local/include/getfem/dal_static_stored_objects.h:290:35: error:
template argument 1 is invalid
     std::set<pstatic_stored_object> dependent_object;
                                   ^
/usr/local/include/getfem/dal_static_stored_objects.h:290:35: error:
template argument 2 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:290:35: error:
template argument 3 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:291:14: error:
‘pstatic_stored_object’ was not declared in this scope
     std::set<pstatic_stored_object> dependencies;
              ^
/usr/local/include/getfem/dal_static_stored_objects.h:291:35: error:
template argument 1 is invalid
     std::set<pstatic_stored_object> dependencies;
                                   ^
/usr/local/include/getfem/dal_static_stored_objects.h:291:35: error:
template argument 2 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:291:35: error:
template argument 3 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:292:52: error:
expected ‘)’ before ‘o’
     enr_static_stored_object(pstatic_stored_object o, permanence perma)
                                                    ^
/usr/local/include/getfem/dal_static_stored_objects.h: In copy
constructor ‘dal::enr_static_stored_object::enr_static_stored_object(const
dal::enr_static_stored_object&)’:
/usr/local/include/getfem/dal_static_stored_objects.h:297:9: error:
class ‘dal::enr_static_stored_object’ does not have any field named
‘p’
       : p(enr_o.p), perm(enr_o.perm), dependent_object(enr_o.dependent_object),
         ^
/usr/local/include/getfem/dal_static_stored_objects.h:297:17: error:
‘const struct dal::enr_static_stored_object’ has no member named ‘p’
       : p(enr_o.p), perm(enr_o.perm), dependent_object(enr_o.dependent_object),
                 ^
/usr/local/include/getfem/dal_static_stored_objects.h: At global scope:
/usr/local/include/getfem/dal_static_stored_objects.h:305:5: error:
‘pstatic_stored_object_key’ does not name a type
     pstatic_stored_object_key p;
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:308:60: error:
expected ‘)’ before ‘o’
     enr_static_stored_object_key(pstatic_stored_object_key o) : p(o) {}
                                                            ^
/usr/local/include/getfem/dal_static_stored_objects.h: In member
function ‘bool dal::enr_static_stored_object_key::operator<(const
dal::enr_static_stored_object_key&) const’:
/usr/local/include/getfem/dal_static_stored_objects.h:307:16: error:
‘p’ was not declared in this scope
     { return (*p) < (*(o.p)); }
                ^
/usr/local/include/getfem/dal_static_stored_objects.h:307:26: error:
‘const struct dal::enr_static_stored_object_key’ has no member named
‘p’
     { return (*p) < (*(o.p)); }
                          ^
/usr/local/include/getfem/dal_static_stored_objects.h: At global scope:
/usr/local/include/getfem/dal_static_stored_objects.h:317:22: error:
‘pstatic_stored_object’ was not declared in this scope
     typedef std::map<pstatic_stored_object,pstatic_stored_object_key>
                      ^
/usr/local/include/getfem/dal_static_stored_objects.h:317:44: error:
‘pstatic_stored_object_key’ was not declared in this scope
     typedef std::map<pstatic_stored_object,pstatic_stored_object_key>
                                            ^
/usr/local/include/getfem/dal_static_stored_objects.h:317:69: error:
template argument 1 is invalid
     typedef std::map<pstatic_stored_object,pstatic_stored_object_key>
                                                                     ^
/usr/local/include/getfem/dal_static_stored_objects.h:317:69: error:
template argument 2 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:317:69: error:
template argument 3 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:317:69: error:
template argument 4 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:322:5: error:
‘pstatic_stored_object’ does not name a type
     pstatic_stored_object
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:324:32: error:
‘pstatic_stored_object’ has not been declared
     bool has_dependent_objects(pstatic_stored_object o) const;
                                ^
/usr/local/include/getfem/dal_static_stored_objects.h:325:31: error:
‘pstatic_stored_object’ has not been declared
     bool exists_stored_object(pstatic_stored_object o) const;
                               ^
/usr/local/include/getfem/dal_static_stored_objects.h:327:28: error:
‘pstatic_stored_object_key’ has not been declared
     void add_stored_object(pstatic_stored_object_key k,
pstatic_stored_object o,
                            ^
/usr/local/include/getfem/dal_static_stored_objects.h:327:57: error:
‘pstatic_stored_object’ has not been declared
     void add_stored_object(pstatic_stored_object_key k,
pstatic_stored_object o,
                                                         ^
/usr/local/include/getfem/dal_static_stored_objects.h:330:34: error:
‘pstatic_stored_object’ has not been declared
     iterator iterator_of_object_(pstatic_stored_object o);
                                  ^
/usr/local/include/getfem/dal_static_stored_objects.h:334:26: error:
‘pstatic_stored_object’ has not been declared
     bool del_dependency_(pstatic_stored_object o1,
                          ^
/usr/local/include/getfem/dal_static_stored_objects.h:335:5: error:
‘pstatic_stored_object’ has not been declared
     pstatic_stored_object o2);
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:339:25: error:
‘pstatic_stored_object’ has not been declared
     bool del_dependent_(pstatic_stored_object o1,
                         ^
/usr/local/include/getfem/dal_static_stored_objects.h:340:5: error:
‘pstatic_stored_object’ has not been declared
     pstatic_stored_object o2);
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:344:26: error:
‘pstatic_stored_object’ has not been declared
     bool add_dependency_(pstatic_stored_object o1,
                          ^
/usr/local/include/getfem/dal_static_stored_objects.h:345:5: error:
‘pstatic_stored_object’ has not been declared
     pstatic_stored_object o2);
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:349:25: error:
‘pstatic_stored_object’ has not been declared
     bool add_dependent_(pstatic_stored_object o1,
                         ^
/usr/local/include/getfem/dal_static_stored_objects.h:350:5: error:
‘pstatic_stored_object’ has not been declared
     pstatic_stored_object o2);
     ^
/usr/local/include/getfem/dal_static_stored_objects.h:351:34: error:
‘pstatic_stored_object’ was not declared in this scope
     void basic_delete_(std::list<pstatic_stored_object> &to_delete);
                                  ^
/usr/local/include/getfem/dal_static_stored_objects.h:351:55: error:
template argument 1 is invalid
     void basic_delete_(std::list<pstatic_stored_object> &to_delete);
                                                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:351:55: error:
template argument 2 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h: In function
‘void dal::delete_specific_type_stored_objects(bool)’:
/usr/local/include/getfem/dal_static_stored_objects.h:364:15: error:
‘pstatic_stored_object’ was not declared in this scope
     std::list<pstatic_stored_object> delete_object_list;
               ^
/usr/local/include/getfem/dal_static_stored_objects.h:364:36: error:
template argument 1 is invalid
     std::list<pstatic_stored_object> delete_object_list;
                                    ^
/usr/local/include/getfem/dal_static_stored_objects.h:364:36: error:
template argument 2 is invalid
/usr/local/include/getfem/dal_static_stored_objects.h:364:56: error:
invalid type in declaration before ‘;’ token
     std::list<pstatic_stored_object> delete_object_list;
                                                        ^
/usr/local/include/getfem/dal_static_stored_objects.h:375:13: error:
‘dynamic_pointer_cast’ is not a member of ‘std’
           = std::dynamic_pointer_cast<const OBJECT_TYPE>(it->second.p).get();
             ^
/usr/local/include/getfem/dal_static_stored_objects.h:375:39: error:
expected primary-expression before ‘const’
           = std::dynamic_pointer_cast<const OBJECT_TYPE>(it->second.p).get();
                                       ^
/usr/local/include/getfem/dal_static_stored_objects.h:376:46: error:
request for member ‘push_back’ in ‘delete_object_list’, which is of
non-class type ‘int’
         if(p_object != 0) delete_object_list.push_back(it->second.p);
                                              ^
/usr/local/include/getfem/dal_static_stored_objects.h:376:67: error:
‘struct dal::enr_static_stored_object’ has no member named ‘p’
         if(p_object != 0) delete_object_list.push_back(it->second.p);
                                                                   ^
/usr/local/include/getfem/dal_static_stored_objects.h:390:15: error:
‘dynamic_pointer_cast’ is not a member of ‘std’
             = std::dynamic_pointer_cast<const OBJECT_TYPE>(it->second.p).get();
               ^
/usr/local/include/getfem/dal_static_stored_objects.h:390:41: error:
expected primary-expression before ‘const’
             = std::dynamic_pointer_cast<const OBJECT_TYPE>(it->second.p).get();
                                         ^
/usr/local/include/getfem/dal_static_stored_objects.h:391:48: error:
request for member ‘push_back’ in ‘delete_object_list’, which is of
non-class type ‘int’
           if(p_object != 0) delete_object_list.push_back(it->second.p);
                                                ^
/usr/local/include/getfem/dal_static_stored_objects.h:391:69: error:
‘struct dal::enr_static_stored_object’ has no member named ‘p’
           if(p_object != 0) delete_object_list.push_back(it->second.p);
                                                                     ^
In file included from /usr/local/include/getfem/bgeot_mesh_structure.h:42:0,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_convex_structure.h: At global scope:
/usr/local/include/getfem/bgeot_convex_structure.h:57:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const convex_structure> pconvex_structure;
           ^
/usr/local/include/getfem/bgeot_convex_structure.h:59:23: error:
‘pconvex_structure’ was not declared in this scope
   typedef std::vector<pconvex_structure> convex_structure_faces_ct;
                       ^
/usr/local/include/getfem/bgeot_convex_structure.h:59:40: error:
template argument 1 is invalid
   typedef std::vector<pconvex_structure> convex_structure_faces_ct;
                                        ^
/usr/local/include/getfem/bgeot_convex_structure.h:59:40: error:
template argument 2 is invalid
/usr/local/include/getfem/bgeot_convex_structure.h:59:67: error:
invalid type in declaration before ‘;’ token
   typedef std::vector<pconvex_structure> convex_structure_faces_ct;
                                                                   ^
/usr/local/include/getfem/bgeot_convex_structure.h:80:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure basic_pcvs;
     ^
/usr/local/include/getfem/bgeot_convex_structure.h:83:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure prod_a, prod_b; /* only filled for convex structures */
     ^
/usr/local/include/getfem/bgeot_convex_structure.h:132:30: error:
‘pconvex_structure’ has not been declared
     void init_for_adaptative(pconvex_structure cvs);
                              ^
/usr/local/include/getfem/bgeot_convex_structure.h:139:21: error:
‘pconvex_structure’ has not been declared
     bool is_product(pconvex_structure *pprod1=0,
                     ^
/usr/local/include/getfem/bgeot_convex_structure.h:140:21: error:
‘pconvex_structure’ has not been declared
                     pconvex_structure *pprod2=0) const {
                     ^
/usr/local/include/getfem/bgeot_convex_structure.h:153:12: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
     friend std::shared_ptr<convex_structure> new_convex_structure();
            ^
/usr/local/include/getfem/bgeot_convex_structure.h:154:12: error:
‘pconvex_structure’ does not name a type
     friend pconvex_structure basic_structure(pconvex_structure cv);
            ^
/usr/local/include/getfem/bgeot_convex_structure.h: In member function
‘bgeot::ref_convex_ind_ct
bgeot::convex_structure::ind_dir_points_of_face(bgeot::short_type)
const’:
/usr/local/include/getfem/bgeot_convex_structure.h:128:46: error:
invalid types ‘const convex_structure_faces_ct {aka const
int}[bgeot::short_type {aka short unsigned int}]’ for array subscript
                                faces_struct[i]->ind_dir_points().begin(),
                                              ^
/usr/local/include/getfem/bgeot_convex_structure.h:129:46: error:
invalid types ‘const convex_structure_faces_ct {aka const
int}[bgeot::short_type {aka short unsigned int}]’ for array subscript
                                faces_struct[i]->ind_dir_points().end());
                                              ^
/usr/local/include/getfem/bgeot_convex_structure.h: In member function
‘bool bgeot::convex_structure::is_product(int*, int*) const’:
/usr/local/include/getfem/bgeot_convex_structure.h:141:29: error:
‘prod_a’ was not declared in this scope
       if (pprod1) *pprod1 = prod_a;
                             ^
/usr/local/include/getfem/bgeot_convex_structure.h:142:29: error:
‘prod_b’ was not declared in this scope
       if (pprod2) *pprod2 = prod_b;
                             ^
/usr/local/include/getfem/bgeot_convex_structure.h:143:14: error:
‘prod_a’ was not declared in this scope
       return prod_a ? true : false;
              ^
/usr/local/include/getfem/bgeot_convex_structure.h: In constructor
‘bgeot::convex_structure::convex_structure(bool)’:
/usr/local/include/getfem/bgeot_convex_structure.h:146:29: error:
class ‘bgeot::convex_structure’ does not have any field named ‘prod_a’
       : auto_basic(auto_b), prod_a(0), prod_b(0)
                             ^
/usr/local/include/getfem/bgeot_convex_structure.h:146:40: error:
class ‘bgeot::convex_structure’ does not have any field named ‘prod_b’
       : auto_basic(auto_b), prod_a(0), prod_b(0)
                                        ^
/usr/local/include/getfem/bgeot_convex_structure.h: In constructor
‘bgeot::convex_structure::convex_structure()’:
/usr/local/include/getfem/bgeot_convex_structure.h:151:45: error:
class ‘bgeot::convex_structure’ does not have any field named ‘prod_a’
     convex_structure() : auto_basic(false), prod_a(0), prod_b(0)
                                             ^
/usr/local/include/getfem/bgeot_convex_structure.h:151:56: error:
class ‘bgeot::convex_structure’ does not have any field named ‘prod_b’
     convex_structure() : auto_basic(false), prod_a(0), prod_b(0)
                                                        ^
/usr/local/include/getfem/bgeot_convex_structure.h: At global scope:
/usr/local/include/getfem/bgeot_convex_structure.h:158:10: error:
‘pconvex_structure’ does not name a type
   inline pconvex_structure basic_structure(pconvex_structure cv)
          ^
/usr/local/include/getfem/bgeot_convex_structure.h:161:10: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   inline std::shared_ptr<convex_structure> new_convex_structure()
          ^
/usr/local/include/getfem/bgeot_convex_structure.h:175:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure simplex_structure(dim_type d);
   ^
/usr/local/include/getfem/bgeot_convex_structure.h:177:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure parallelepiped_structure(dim_type d);
   ^
/usr/local/include/getfem/bgeot_convex_structure.h:179:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure polygon_structure(short_type);
   ^
/usr/local/include/getfem/bgeot_convex_structure.h:183:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure Q2_incomplete_structure(dim_type d);
   ^
/usr/local/include/getfem/bgeot_convex_structure.h:187:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure convex_product_structure(pconvex_structure,
   ^
/usr/local/include/getfem/bgeot_convex_structure.h:192:10: error:
‘pconvex_structure’ does not name a type
   inline pconvex_structure prism_structure(dim_type nc) {
          ^
/usr/local/include/getfem/bgeot_convex_structure.h:201:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure simplex_structure(dim_type n, short_type k);
   ^
/usr/local/include/getfem/bgeot_convex_structure.h:204:3: error:
‘pconvex_structure’ does not name a type
   pconvex_structure generic_dummy_structure(dim_type nc, size_type n,
   ^
In file included from /usr/local/include/getfem/dal_tas.h:40:0,
                 from /usr/local/include/getfem/dal_tree_sorted.h:42,
                 from /usr/local/include/getfem/bgeot_mesh_structure.h:43,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/dal_basic.h:201:25: error: ‘unique_ptr’ is
not a member of ‘std’
     typedef std::vector<std::unique_ptr<T[]>> pointer_array;
                         ^
/usr/local/include/getfem/dal_basic.h:201:25: error: ‘unique_ptr’ is
not a member of ‘std’
/usr/local/include/getfem/dal_basic.h:201:43: error: an array
reference cannot appear in a constant-expression
     typedef std::vector<std::unique_ptr<T[]>> pointer_array;
                                           ^
/usr/local/include/getfem/dal_basic.h:201:47: error: ‘pointer_array’
was not declared in this scope
     typedef std::vector<std::unique_ptr<T[]>> pointer_array;
                                               ^
/usr/local/include/getfem/dal_basic.h:201:47: error: template argument
1 is invalid
/usr/local/include/getfem/dal_basic.h:201:47: error: template argument
2 is invalid
/usr/local/include/getfem/dal_basic.h:210:5: error: ‘pointer_array’
does not name a type
     pointer_array array;
     ^
/usr/local/include/getfem/dal_basic.h: In member function ‘void
dal::dynamic_array<T, pks>::init()’:
/usr/local/include/getfem/dal_basic.h:253:39: error: ‘array’ was not
declared in this scope
       { last_accessed = last_ind = 0; array.resize(8); ppks = 3; m_ppks = 7; }
                                       ^
/usr/local/include/getfem/dal_basic.h: In member function
‘dal::dynamic_array<T, pks>::value_type* dal::dynamic_array<T,
pks>::pt_to(dal::dynamic_array<T, pks>::size_type)’:
/usr/local/include/getfem/dal_basic.h:262:44: error: ‘array’ was not
declared in this scope
       { return (ii >=last_ind) ? NULL : &((array[ii>>pks])[ii&DNAMPKS__]); }
                                            ^
/usr/local/include/getfem/dal_basic.h: In member function ‘const
value_type* dal::dynamic_array<T, pks>::pt_to(dal::dynamic_array<T,
pks>::size_type) const’:
/usr/local/include/getfem/dal_basic.h:264:44: error: ‘array’ was not
declared in this scope
       { return (ii >=last_ind) ? NULL : &((array[ii>>pks])[ii&DNAMPKS__]); }
                                            ^
/usr/local/include/getfem/dal_basic.h: In member function
‘dal::dynamic_array<T, pks>::size_type dal::dynamic_array<T,
pks>::memsize() const’:
/usr/local/include/getfem/dal_basic.h:274:32: error: ‘array’ was not
declared in this scope
       return sizeof(pointer) * array.capacity()
                                ^
/usr/local/include/getfem/dal_basic.h: In member function ‘void
dal::dynamic_array<T, pks>::swap(dal::dynamic_array<T, pks>&)’:
/usr/local/include/getfem/dal_basic.h:291:5: error: ‘array’ was not
declared in this scope
     array.swap(da.array);
     ^
/usr/local/include/getfem/dal_basic.h: In member function ‘void
dal::dynamic_array<T, pks>::clear()’:
/usr/local/include/getfem/dal_basic.h:302:5: error: ‘array’ was not
declared in this scope
     array.clear(); init();
     ^
/usr/local/include/getfem/dal_basic.h: In member function
‘dal::dynamic_array<T, pks>& dal::dynamic_array<T,
pks>::operator=(const dal::dynamic_array<T, pks>&)’:
/usr/local/include/getfem/dal_basic.h:307:5: error: ‘array’ was not
declared in this scope
     array.resize(da.array.size());
     ^
/usr/local/include/getfem/dal_basic.h:311:14: error: ‘pointer_array’
has not been declared
     typename pointer_array::iterator it = array.begin();
              ^
/usr/local/include/getfem/dal_basic.h:311:38: error: expected ‘(’ before ‘it’
     typename pointer_array::iterator it = array.begin();
                                      ^
/usr/local/include/getfem/dal_basic.h:311:38: error: expected ‘;’ before ‘it’
/usr/local/include/getfem/dal_basic.h:312:14: error: ‘pointer_array’
has not been declared
     typename pointer_array::const_iterator ita = da.array.begin();
              ^
/usr/local/include/getfem/dal_basic.h:312:44: error: expected ‘(’ before ‘ita’
     typename pointer_array::const_iterator ita = da.array.begin();
                                            ^
/usr/local/include/getfem/dal_basic.h:312:44: error: expected ‘;’ before ‘ita’
/usr/local/include/getfem/dal_basic.h:313:14: error: ‘pointer_array’
has not been declared
     typename pointer_array::iterator ite = it+ ((last_ind + DNAMPKS__) >> pks);
              ^
/usr/local/include/getfem/dal_basic.h:313:38: error: expected ‘(’ before ‘ite’
     typename pointer_array::iterator ite = it+ ((last_ind + DNAMPKS__) >> pks);
                                      ^
/usr/local/include/getfem/dal_basic.h:313:38: error: expected ‘;’ before ‘ite’
/usr/local/include/getfem/dal_basic.h:314:12: error: ‘it’ was not
declared in this scope
     while (it != ite) {
            ^
/usr/local/include/getfem/dal_basic.h:314:18: error: ‘ite’ was not
declared in this scope
     while (it != ite) {
                  ^
/usr/local/include/getfem/dal_basic.h:315:13: error: ‘unique_ptr’ is
not a member of ‘std’
       *it = std::unique_ptr<T[]>(new T[DNAMPKS__+1]);//
std::make_unique<T[]>(DNAMPKS__+1);
             ^
/usr/local/include/getfem/dal_basic.h:315:30: error: expected
primary-expression before ‘[’ token
       *it = std::unique_ptr<T[]>(new T[DNAMPKS__+1]);//
std::make_unique<T[]>(DNAMPKS__+1);
                              ^
/usr/local/include/getfem/dal_basic.h:315:31: error: expected
primary-expression before ‘]’ token
       *it = std::unique_ptr<T[]>(new T[DNAMPKS__+1]);//
std::make_unique<T[]>(DNAMPKS__+1);
                               ^
/usr/local/include/getfem/dal_basic.h:318:36: error: ‘ita’ was not
declared in this scope
       register const_pointer pa = (ita++)->get();
                                    ^
In file included from /usr/local/include/getfem/dal_singleton.h:48:0,
                 from /usr/local/include/getfem/bgeot_small_vector.h:40,
                 from /usr/local/include/getfem/bgeot_tensor.h:40,
                 from /usr/local/include/getfem/bgeot_convex_structure.h:43,
                 from /usr/local/include/getfem/bgeot_mesh_structure.h:42,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/dal_basic.h: In member function ‘const
value_type& dal::dynamic_array<T,
pks>::operator[](dal::dynamic_array<T, pks>::size_type) const’:
/usr/local/include/getfem/dal_basic.h:327:9: error: ‘shared_ptr’ in
namespace ‘std’ does not name a type
         DEFINE_STATIC_THREAD_LOCAL_INITIALIZED(std::shared_ptr<T>,pf,NULL);
         ^
In file included from /usr/local/include/getfem/dal_tas.h:40:0,
                 from /usr/local/include/getfem/dal_tree_sorted.h:42,
                 from /usr/local/include/getfem/bgeot_mesh_structure.h:43,
                 from /usr/local/include/getfem/bgeot_mesh.h:41,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/dal_basic.h:328:13: error: ‘pf’ was not
declared in this scope
         if (pf.get() == NULL) { pf = std::make_shared<T>(); }
             ^
/usr/local/include/getfem/dal_basic.h:328:38: error: ‘make_shared’ is
not a member of ‘std’
         if (pf.get() == NULL) { pf = std::make_shared<T>(); }
                                      ^
/usr/local/include/getfem/dal_basic.h:328:56: error: expected
primary-expression before ‘>’ token
         if (pf.get() == NULL) { pf = std::make_shared<T>(); }
                                                        ^
/usr/local/include/getfem/dal_basic.h:328:58: error: expected
primary-expression before ‘)’ token
         if (pf.get() == NULL) { pf = std::make_shared<T>(); }
                                                          ^
/usr/local/include/getfem/dal_basic.h:329:33: error: ‘array’ was not
declared in this scope
         return (ii<last_ind) ? (array[ii>>pks])[ii&DNAMPKS__] : *pf;
                                 ^
/usr/local/include/getfem/dal_basic.h:329:66: error: ‘pf’ was not
declared in this scope
         return (ii<last_ind) ? (array[ii>>pks])[ii&DNAMPKS__] : *pf;
                                                                  ^
/usr/local/include/getfem/dal_basic.h: In member function
‘dal::dynamic_array<T, pks>::value_type& dal::dynamic_array<T,
pks>::operator[](dal::dynamic_array<T, pks>::size_type)’:
/usr/local/include/getfem/dal_basic.h:341:4: error: ‘array’ was not
declared in this scope
    array.resize(m_ppks = (size_type(1) << ppks)); m_ppks--;
    ^
/usr/local/include/getfem/dal_basic.h:345:6: error: ‘array’ was not
declared in this scope
    { array[jj] = std::unique_ptr<T[]>(new T[DNAMPKS__+1]); } //
std::make_unique<T[]>(DNAMPKS__ + 1); }
      ^
/usr/local/include/getfem/dal_basic.h:345:18: error: ‘unique_ptr’ is
not a member of ‘std’
    { array[jj] = std::unique_ptr<T[]>(new T[DNAMPKS__+1]); } //
std::make_unique<T[]>(DNAMPKS__ + 1); }
                  ^
/usr/local/include/getfem/dal_basic.h:345:35: error: expected
primary-expression before ‘[’ token
    { array[jj] = std::unique_ptr<T[]>(new T[DNAMPKS__+1]); } //
std::make_unique<T[]>(DNAMPKS__ + 1); }
                                   ^
/usr/local/include/getfem/dal_basic.h:345:36: error: expected
primary-expression before ‘]’ token
    { array[jj] = std::unique_ptr<T[]>(new T[DNAMPKS__+1]); } //
std::make_unique<T[]>(DNAMPKS__ + 1); }
                                    ^
/usr/local/include/getfem/dal_basic.h:348:13: error: ‘array’ was not
declared in this scope
     return (array[ii >> pks])[ii & DNAMPKS__];
             ^
In file included from /usr/local/include/getfem/bgeot_mesh.h:41:0,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_mesh_structure.h: At global scope:
/usr/local/include/getfem/bgeot_mesh_structure.h:50:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure cstruct;       /* type of convex.                  */
     ^
/usr/local/include/getfem/bgeot_mesh_structure.h:53:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure structure(void) const { return cstruct; }
     ^
/usr/local/include/getfem/bgeot_mesh_structure.h:54:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure &structure(void) { return cstruct; }
     ^
/usr/local/include/getfem/bgeot_mesh_structure.h: In constructor
‘bgeot::mesh_convex_structure::mesh_convex_structure()’:
/usr/local/include/getfem/bgeot_mesh_structure.h:55:35: error: class
‘bgeot::mesh_convex_structure’ does not have any field named ‘cstruct’
     mesh_convex_structure(void) : cstruct(0) {}
                                   ^
/usr/local/include/getfem/bgeot_mesh_structure.h: At global scope:
/usr/local/include/getfem/bgeot_mesh_structure.h:109:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure structure_of_convex(size_type ic) const
     ^
/usr/local/include/getfem/bgeot_mesh_structure.h:123:34: error:
‘pconvex_structure’ has not been declared
     size_type add_convex_noverif(pconvex_structure cs, ITER ipts,
                                  ^
/usr/local/include/getfem/bgeot_mesh_structure.h:132:26: error:
‘pconvex_structure’ has not been declared
     size_type add_convex(pconvex_structure cs,
                          ^
/usr/local/include/getfem/bgeot_mesh_structure.h: In member function
‘bgeot::short_type
bgeot::mesh_structure::nb_points_of_convex(bgeot::size_type) const’:
/usr/local/include/getfem/bgeot_mesh_structure.h:113:29: error: ‘const
value_type’ has no member named ‘cstruct’
     { return convex_tab[ic].cstruct->nb_points(); }
                             ^
/usr/local/include/getfem/bgeot_mesh_structure.h: In member function
‘bgeot::short_type
bgeot::mesh_structure::nb_faces_of_convex(bgeot::size_type) const’:
/usr/local/include/getfem/bgeot_mesh_structure.h:116:40: error: ‘const
value_type’ has no member named ‘cstruct’
     { return short_type(convex_tab[ic].cstruct->nb_faces()); }
                                        ^
/usr/local/include/getfem/bgeot_mesh_structure.h: In member function
‘bgeot::size_type bgeot::mesh_structure::add_simplex(bgeot::dim_type,
ITER)’:
/usr/local/include/getfem/bgeot_mesh_structure.h:135:48: error: there
are no arguments to ‘simplex_structure’ that depend on a template
parameter, so a declaration of ‘simplex_structure’ must be available
[-fpermissive]
       { return add_convex(simplex_structure(dim), ipts); }
                                                ^
/usr/local/include/getfem/bgeot_mesh_structure.h:135:48: note: (if you
use ‘-fpermissive’, G++ will accept your code, but allowing the use of
an undeclared name is deprecated)
/usr/local/include/getfem/bgeot_mesh_structure.h: At global scope:
/usr/local/include/getfem/bgeot_mesh_structure.h:275:48: error:
‘bgeot::size_type bgeot::mesh_structure::add_convex_noverif’ is not a
static member of ‘class bgeot::mesh_structure’
   size_type mesh_structure::add_convex_noverif(pconvex_structure cs,
                                                ^
/usr/local/include/getfem/bgeot_mesh_structure.h:275:48: error:
template definition of non-template ‘bgeot::size_type
bgeot::mesh_structure::add_convex_noverif’
/usr/local/include/getfem/bgeot_mesh_structure.h:275:48: error:
‘pconvex_structure’ was not declared in this scope
/usr/local/include/getfem/bgeot_mesh_structure.h:276:53: error:
expected primary-expression before ‘ipts’
                                                ITER ipts, size_type is) {
                                                     ^
/usr/local/include/getfem/bgeot_mesh_structure.h:276:69: error:
expected primary-expression before ‘is’
                                                ITER ipts, size_type is) {
                                                                     ^
/usr/local/include/getfem/bgeot_mesh_structure.h:290:40: error:
‘bgeot::size_type bgeot::mesh_structure::add_convex’ is not a static
member of ‘class bgeot::mesh_structure’
   size_type mesh_structure::add_convex(pconvex_structure cs,
                                        ^
/usr/local/include/getfem/bgeot_mesh_structure.h:290:40: error:
template definition of non-template ‘bgeot::size_type
bgeot::mesh_structure::add_convex’
/usr/local/include/getfem/bgeot_mesh_structure.h:290:40: error:
‘pconvex_structure’ was not declared in this scope
/usr/local/include/getfem/bgeot_mesh_structure.h:291:45: error:
expected primary-expression before ‘ipts’
                                        ITER ipts, bool *present) {
                                             ^
/usr/local/include/getfem/bgeot_mesh_structure.h:291:51: error:
expected primary-expression before ‘bool’
                                        ITER ipts, bool *present) {
                                                   ^
/usr/local/include/getfem/bgeot_mesh_structure.h:334:38: error:
variable or field ‘mesh_edge_list_convex’ declared void
   void APIDECL mesh_edge_list_convex(pconvex_structure cvs,
                                      ^
/usr/local/include/getfem/bgeot_mesh_structure.h:334:38: error:
‘pconvex_structure’ was not declared in this scope
/usr/local/include/getfem/bgeot_mesh_structure.h:335:53: error:
expected primary-expression before ‘points_of_convex’
                              std::vector<size_type> points_of_convex,
                                                     ^
/usr/local/include/getfem/bgeot_mesh_structure.h:336:40: error:
expected primary-expression before ‘cv_id’
                              size_type cv_id, edge_list &el,
                                        ^
/usr/local/include/getfem/bgeot_mesh_structure.h:336:57: error:
expected primary-expression before ‘&’ token
                              size_type cv_id, edge_list &el,
                                                         ^
/usr/local/include/getfem/bgeot_mesh_structure.h:336:58: error: ‘el’
was not declared in this scope
                              size_type cv_id, edge_list &el,
                                                          ^
/usr/local/include/getfem/bgeot_mesh_structure.h:337:30: error:
expected primary-expression before ‘bool’
                              bool merge_convex);
                              ^
In file included from /usr/local/include/getfem/bgeot_convex_ref.h:41:0,
                 from /usr/local/include/getfem/bgeot_geometric_trans.h:43,
                 from /usr/local/include/getfem/bgeot_mesh.h:42,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_convex.h:65:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure cvs;
     ^
/usr/local/include/getfem/bgeot_convex.h:90:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure structure() const { return cvs; }
     ^
/usr/local/include/getfem/bgeot_convex.h:91:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure &structure() { return cvs; }
     ^
/usr/local/include/getfem/bgeot_convex.h:103:30: error: expected ‘)’ before ‘c’
     convex(pconvex_structure c, const PT_TAB &t) : cvs(c), pts(t) {}
                              ^
/usr/local/include/getfem/bgeot_convex.h:104:30: error: expected ‘)’ before ‘c’
     convex(pconvex_structure c) : cvs(c) {}
                              ^
/usr/local/include/getfem/bgeot_convex.h: In member function
‘bgeot::convex<PT, PT_TAB>::ref_convex_pt_ct bgeot::convex<PT,
PT_TAB>::points_of_face(bgeot::short_type) const’:
/usr/local/include/getfem/bgeot_convex.h:71:44: error: ‘cvs’ was not
declared in this scope
       return ref_convex_pt_ct(pts.begin(), cvs->ind_points_of_face(i).begin(),
                                            ^
/usr/local/include/getfem/bgeot_convex.h: In member function
‘bgeot::convex<PT, PT_TAB>::ref_convex_pt_ct bgeot::convex<PT,
PT_TAB>::dir_points() const’:
/usr/local/include/getfem/bgeot_convex.h:79:44: error: ‘cvs’ was not
declared in this scope
       return ref_convex_pt_ct(pts.begin(), cvs->ind_dir_points().begin(),
                                            ^
/usr/local/include/getfem/bgeot_convex.h: In member function
‘bgeot::convex<PT, PT_TAB>::dref_convex_pt_ct bgeot::convex<PT,
PT_TAB>::dir_points_of_face(bgeot::short_type) const’:
/usr/local/include/getfem/bgeot_convex.h:87:32: error: ‘cvs’ was not
declared in this scope
                                cvs->ind_dir_points_of_face(i).begin(),
                                ^
/usr/local/include/getfem/bgeot_convex.h: In member function
‘bgeot::short_type bgeot::convex<PT, PT_TAB>::nb_points() const’:
/usr/local/include/getfem/bgeot_convex.h:94:43: error: ‘cvs’ was not
declared in this scope
     short_type nb_points() const { return cvs->nb_points(); }
                                           ^
/usr/local/include/getfem/bgeot_convex.h: In function
‘bgeot::convex<PT, PT_TAB> bgeot::simplex(const PT_TAB&, int)’:
/usr/local/include/getfem/bgeot_convex.h:168:51: error: there are no
arguments to ‘simplex_structure’ that depend on a template parameter,
so a declaration of ‘simplex_structure’ must be available
[-fpermissive]
   { return convex<PT, PT_TAB>(simplex_structure(nc), t); }
                                                   ^
/usr/local/include/getfem/bgeot_convex.h: At global scope:
/usr/local/include/getfem/bgeot_convex.h:186:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure p;
     ^
/usr/local/include/getfem/bgeot_convex.h:192:53: error: expected ‘)’ before ‘pp’
     special_convex_structure_key_(pconvex_structure pp) : p(pp) {}
                                                     ^
/usr/local/include/getfem/bgeot_convex.h: In member function ‘virtual
bool bgeot::special_convex_structure_key_::compare(const
dal::static_stored_object_key&) const’:
/usr/local/include/getfem/bgeot_convex.h:190:11: error: ‘p’ was not
declared in this scope
       if (p < o.p) return true;  return false;
           ^
/usr/local/include/getfem/bgeot_convex.h:190:17: error: ‘const struct
bgeot::special_convex_structure_key_’ has no member named ‘p’
       if (p < o.p) return true;  return false;
                 ^
/usr/local/include/getfem/bgeot_convex.h: In function
‘bgeot::convex<PT> bgeot::convex_direct_product(const
bgeot::convex<PT, PT_TAB>&, const bgeot::convex<PT, PT_TAB2>&)’:
/usr/local/include/getfem/bgeot_convex.h:203:7: error:
‘pstatic_stored_object_key’ is not a member of ‘dal’
       dal::pstatic_stored_object_key
       ^
/usr/local/include/getfem/bgeot_convex.h:204:9: error: expected ‘;’ before ‘pcs’
         pcs = std::make_shared<special_convex_structure_key_>(cv1.structure());
         ^
/usr/local/include/getfem/bgeot_convex.h:205:7: error:
‘add_stored_object’ is not a member of ‘dal’
       dal::add_stored_object(pcs, cv1.structure(),
       ^
/usr/local/include/getfem/bgeot_convex.h:205:30: error: ‘pcs’ was not
declared in this scope
       dal::add_stored_object(pcs, cv1.structure(),
                              ^
/usr/local/include/getfem/bgeot_convex.h:209:7: error:
‘pstatic_stored_object_key’ is not a member of ‘dal’
       dal::pstatic_stored_object_key
       ^
/usr/local/include/getfem/bgeot_convex.h:210:9: error: expected ‘;’ before ‘pcs’
         pcs = std::make_shared<special_convex_structure_key_>(cv2.structure());
         ^
/usr/local/include/getfem/bgeot_convex.h:211:7: error:
‘add_stored_object’ is not a member of ‘dal’
       dal::add_stored_object(pcs, cv2.structure(),
       ^
/usr/local/include/getfem/bgeot_convex.h:211:30: error: ‘pcs’ was not
declared in this scope
       dal::add_stored_object(pcs, cv2.structure(),
                              ^
In file included from /usr/local/include/getfem/bgeot_geometric_trans.h:43:0,
                 from /usr/local/include/getfem/bgeot_mesh.h:42,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_convex_ref.h: At global scope:
/usr/local/include/getfem/bgeot_convex_ref.h:60:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const stored_point_tab> pstored_point_tab;
           ^
/usr/local/include/getfem/bgeot_convex_ref.h:62:3: error:
‘pstored_point_tab’ does not name a type
   pstored_point_tab store_point_tab(const stored_point_tab& spt);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:65:24: error:
‘pstored_point_tab’ does not name a type
   template<class CONT> pstored_point_tab store_point_tab(const CONT &TAB)
                        ^
/usr/local/include/getfem/bgeot_convex_ref.h:71:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const convex_of_reference> pconvex_ref;
           ^
/usr/local/include/getfem/bgeot_convex_ref.h:95:5: error:
‘pstored_point_tab’ does not name a type
     pstored_point_tab ppoints;
     ^
/usr/local/include/getfem/bgeot_convex_ref.h:96:13: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
     mutable std::shared_ptr<mesh_structure> psimplexified_convex;
             ^
/usr/local/include/getfem/bgeot_convex_ref.h:97:5: error:
‘pconvex_ref’ does not name a type
     pconvex_ref basic_convex_ref_;
     ^
/usr/local/include/getfem/bgeot_convex_ref.h:119:5: error:
‘pstored_point_tab’ does not name a type
     pstored_point_tab pspt(void) const { return ppoints; }
     ^
/usr/local/include/getfem/bgeot_convex_ref.h:128:12: error:
‘pconvex_ref’ does not name a type
     friend pconvex_ref basic_convex_ref(pconvex_ref cvr);
            ^
/usr/local/include/getfem/bgeot_convex_ref.h: In constructor
‘bgeot::convex_of_reference::convex_of_reference()’:
/usr/local/include/getfem/bgeot_convex_ref.h:100:29: error: class
‘bgeot::convex_of_reference’ does not have any field named
‘basic_convex_ref_’
                             basic_convex_ref_(0), auto_basic(false)
                             ^
/usr/local/include/getfem/bgeot_convex_ref.h: In member function
‘const bgeot::stored_point_tab& bgeot::convex_of_reference::points()
const’:
/usr/local/include/getfem/bgeot_convex_ref.h:117:58: error: ‘ppoints’
was not declared in this scope
     const stored_point_tab &points(void) const { return *ppoints; }
                                                          ^
/usr/local/include/getfem/bgeot_convex_ref.h: In member function
‘const bgeot::stored_point_tab& bgeot::convex_of_reference::points()’:
/usr/local/include/getfem/bgeot_convex_ref.h:118:52: error: ‘ppoints’
was not declared in this scope
     const stored_point_tab &points(void) { return *ppoints; }
                                                    ^
/usr/local/include/getfem/bgeot_convex_ref.h: At global scope:
/usr/local/include/getfem/bgeot_convex_ref.h:132:10: error:
‘pconvex_ref’ does not name a type
   inline pconvex_ref basic_convex_ref(pconvex_ref cvr)
          ^
/usr/local/include/getfem/bgeot_convex_ref.h:140:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref simplex_of_reference(dim_type nc, short_type k = 1);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:142:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref parallelepiped_of_reference(dim_type nc);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:144:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref prism_of_reference(dim_type nc);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:148:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref Q2_incomplete_reference(dim_type d);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:152:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref convex_ref_product(pconvex_ref a, pconvex_ref b);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:155:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref equilateral_simplex_of_reference(dim_type nc);
   ^
/usr/local/include/getfem/bgeot_convex_ref.h:158:3: error:
‘pconvex_ref’ does not name a type
   pconvex_ref generic_dummy_convex_ref(dim_type nc, size_type n,
short_type nf);
   ^
In file included from /usr/local/include/getfem/bgeot_geometric_trans.h:44:0,
                 from /usr/local/include/getfem/bgeot_mesh.h:42,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/dal_naming_system.h:59:13: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
     typedef std::shared_ptr<const METHOD> pmethod;
             ^
/usr/local/include/getfem/dal_naming_system.h:64:7: error: ‘pmethod’
does not name a type
       pmethod pm_;
       ^
/usr/local/include/getfem/dal_naming_system.h:66:7: error: ‘pmethod’
does not name a type
       pmethod method(void) const { return pm_; }
       ^
/usr/local/include/getfem/dal_naming_system.h:70:25: error: expected
‘)’ before ‘p’
       parameter(pmethod p) : type_(1), num_(0.), pm_(p) {}
                         ^
/usr/local/include/getfem/dal_naming_system.h:74:22: error: expected
identifier before ‘*’ token
     typedef pmethod (* pfunction)(param_list &,
                      ^
/usr/local/include/getfem/dal_naming_system.h:75:19: error:
‘pstatic_stored_object’ was not declared in this scope
       std::vector<pstatic_stored_object> &);
                   ^
/usr/local/include/getfem/dal_naming_system.h:75:40: error: template
argument 1 is invalid
       std::vector<pstatic_stored_object> &);
                                        ^
/usr/local/include/getfem/dal_naming_system.h:75:40: error: template
argument 2 is invalid
/usr/local/include/getfem/dal_naming_system.h:75:43: error: ‘pmethod’
declared as function returning a function
       std::vector<pstatic_stored_object> &);
                                           ^
/usr/local/include/getfem/dal_naming_system.h:76:22: error: expected
identifier before ‘*’ token
     typedef pmethod (* pgenfunction)(std::string,
                      ^
/usr/local/include/getfem/dal_naming_system.h:77:22: error:
‘pstatic_stored_object’ was not declared in this scope
          std::vector<pstatic_stored_object> &);
                      ^
/usr/local/include/getfem/dal_naming_system.h:77:43: error: template
argument 1 is invalid
          std::vector<pstatic_stored_object> &);
                                           ^
/usr/local/include/getfem/dal_naming_system.h:77:43: error: template
argument 2 is invalid
/usr/local/include/getfem/dal_naming_system.h:77:46: error: ‘pmethod’
declared as function returning a function
          std::vector<pstatic_stored_object> &);
                                              ^
/usr/local/include/getfem/dal_naming_system.h:84:17: error:
‘pfunction’ was not declared in this scope
     std::vector<pfunction> functions;
                 ^
/usr/local/include/getfem/dal_naming_system.h:84:26: error: template
argument 1 is invalid
     std::vector<pfunction> functions;
                          ^
/usr/local/include/getfem/dal_naming_system.h:84:26: error: template
argument 2 is invalid
/usr/local/include/getfem/dal_naming_system.h:85:17: error:
‘pgenfunction’ was not declared in this scope
     std::vector<pgenfunction> genfunctions;
                 ^
/usr/local/include/getfem/dal_naming_system.h:85:29: error: template
argument 1 is invalid
     std::vector<pgenfunction> genfunctions;
                             ^
/usr/local/include/getfem/dal_naming_system.h:85:29: error: template
argument 2 is invalid
/usr/local/include/getfem/dal_naming_system.h:100:5: error: ‘pmethod’
does not name a type
     pmethod method_(const std::string &name, size_type &i, bool
throw_if_not_found);
     ^
/usr/local/include/getfem/dal_naming_system.h:107:39: error:
‘pfunction’ has not been declared
     void add_suffix(std::string name, pfunction pf);
                                       ^
/usr/local/include/getfem/dal_naming_system.h:108:31: error:
‘pgenfunction’ has not been declared
     void add_generic_function(pgenfunction pf);
                               ^
/usr/local/include/getfem/dal_naming_system.h:109:42: error: ‘pmethod’
has not been declared
     std::string normative_name_of_method(pmethod pm) const;
                                          ^
/usr/local/include/getfem/dal_naming_system.h:110:40: error: ‘pmethod’
has not been declared
     std::string shorter_name_of_method(pmethod pm) const;
                                        ^
/usr/local/include/getfem/dal_naming_system.h:111:5: error: ‘pmethod’
does not name a type
     pmethod method(const std::string &name, size_type &i,
     ^
/usr/local/include/getfem/dal_naming_system.h: In constructor
‘dal::naming_system<METHOD>::parameter::parameter(double)’:
/usr/local/include/getfem/dal_naming_system.h:69:48: error: class
‘dal::naming_system<METHOD>::parameter’ does not have any field named
‘pm_’
       parameter(double e) : type_(0), num_(e), pm_(0) {}
                                                ^
/usr/local/include/getfem/dal_naming_system.h: At global scope:
/usr/local/include/getfem/dal_naming_system.h:119:8: error: prototype
for ‘void dal::naming_system<METHOD>::add_suffix(std::string, typename
dal::naming_system<METHOD>::pfunction)’ does not match any in class
‘dal::naming_system<METHOD>’
   void naming_system<METHOD>::add_suffix(std::string name,
        ^
/usr/local/include/getfem/dal_naming_system.h:107:10: error: candidate
is: void dal::naming_system<METHOD>::add_suffix(std::string, int)
     void add_suffix(std::string name, pfunction pf);
          ^
/usr/local/include/getfem/dal_naming_system.h:132:52: error: variable
or field ‘add_generic_function’ declared void
   void naming_system<METHOD>::add_generic_function(pgenfunction pf) {
                                                    ^
/usr/local/include/getfem/dal_naming_system.h:132:52: error:
‘pgenfunction’ was not declared in this scope
/usr/local/include/getfem/dal_naming_system.h:137:15: error: prototype
for ‘std::string
dal::naming_system<METHOD>::normative_name_of_method(typename
dal::naming_system<METHOD>::pmethod) const’ does not match any in
class ‘dal::naming_system<METHOD>’
   std::string naming_system<METHOD>::normative_name_of_method(typename
               ^
/usr/local/include/getfem/dal_naming_system.h:109:17: error: candidate
is: std::string
dal::naming_system<METHOD>::normative_name_of_method(int) const
     std::string normative_name_of_method(pmethod pm) const;
                 ^
/usr/local/include/getfem/dal_naming_system.h:147:3: error: prototype
for ‘std::string
dal::naming_system<METHOD>::shorter_name_of_method(typename
dal::naming_system<METHOD>::pmethod) const’ does not match any in
class ‘dal::naming_system<METHOD>’
   naming_system<METHOD>::shorter_name_of_method(typename
   ^
/usr/local/include/getfem/dal_naming_system.h:110:17: error: candidate
is: std::string
dal::naming_system<METHOD>::shorter_name_of_method(int) const
     std::string shorter_name_of_method(pmethod pm) const;
                 ^
/usr/local/include/getfem/dal_naming_system.h:197:29: error: no
‘typename dal::naming_system<METHOD>::pmethod
dal::naming_system<METHOD>::method_(const string&,
dal::naming_system<METHOD>::size_type&, bool)’ member function
declared in class ‘dal::naming_system<METHOD>’
      bool throw_if_not_found) {
                             ^
/usr/local/include/getfem/dal_naming_system.h: In member function
‘bool dal::naming_system<METHOD>::delete_method(std::string)’:
/usr/local/include/getfem/dal_naming_system.h:318:5: error: ‘pmethod’
was not declared in this scope
     pmethod pm;
     ^
/usr/local/include/getfem/dal_naming_system.h:318:13: error: expected
‘;’ before ‘pm’
     pmethod pm;
             ^
/usr/local/include/getfem/dal_naming_system.h:320:5: error:
‘pstatic_stored_object_key’ was not declared in this scope
     pstatic_stored_object_key pnname = std::make_shared<method_key>(name);
     ^
/usr/local/include/getfem/dal_naming_system.h:320:31: error: expected
‘;’ before ‘pnname’
     pstatic_stored_object_key pnname = std::make_shared<method_key>(name);
                               ^
/usr/local/include/getfem/dal_naming_system.h:321:5: error:
‘pstatic_stored_object’ was not declared in this scope
     pstatic_stored_object o = search_stored_object(pnname);
     ^
/usr/local/include/getfem/dal_naming_system.h:321:27: error: expected
‘;’ before ‘o’
     pstatic_stored_object o = search_stored_object(pnname);
                           ^
/usr/local/include/getfem/dal_naming_system.h:322:10: error: ‘o’ was
not declared in this scope
     if (!o) return false;
          ^
/usr/local/include/getfem/dal_naming_system.h:323:5: error: ‘pm’ was
not declared in this scope
     pm = std::dynamic_pointer_cast<const METHOD>(o);
     ^
/usr/local/include/getfem/dal_naming_system.h:323:10: error:
‘dynamic_pointer_cast’ is not a member of ‘std’
     pm = std::dynamic_pointer_cast<const METHOD>(o);
          ^
/usr/local/include/getfem/dal_naming_system.h:323:36: error: expected
primary-expression before ‘const’
     pm = std::dynamic_pointer_cast<const METHOD>(o);
                                    ^
/usr/local/include/getfem/dal_naming_system.h:323:36: error: expected
‘;’ before ‘const’
/usr/local/include/getfem/dal_naming_system.h:324:31: error: expected
‘;’ before ‘k’
     pstatic_stored_object_key k = key_of_stored_object(pm);
                               ^
In file included from /usr/local/include/getfem/bgeot_mesh.h:42:0,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_geometric_trans.h: At global scope:
/usr/local/include/getfem/bgeot_geometric_trans.h:109:5: error:
‘pconvex_ref’ does not name a type
     pconvex_ref cvr;
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:124:5: error:
‘pconvex_ref’ does not name a type
     pconvex_ref convex_ref(void) const { return cvr; }
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:126:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure structure(void) const { return cvr->structure(); }
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:128:5: error:
‘pconvex_structure’ does not name a type
     pconvex_structure basic_structure(void) const
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:152:5: error:
‘pstored_point_tab’ does not name a type
     pstored_point_tab pgeometric_nodes(void) const
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘bgeot::dim_type bgeot::geometric_trans::dim() const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:118:39: error: ‘cvr’
was not declared in this scope
     dim_type dim(void) const { return cvr->structure()->dim(); }
                                       ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘bgeot::size_type bgeot::geometric_trans::nb_points() const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:122:46: error: ‘cvr’
was not declared in this scope
     size_type nb_points(void) const { return cvr->nb_points(); }
                                              ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘const bgeot::stored_point_tab&
bgeot::geometric_trans::geometric_nodes() const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:150:14: error: ‘cvr’
was not declared in this scope
     { return cvr->points(); }
              ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘const std::vector<bgeot::small_vector<double> >&
bgeot::geometric_trans::normals() const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:156:14: error: ‘cvr’
was not declared in this scope
     { return cvr->normals(); }
              ^
/usr/local/include/getfem/bgeot_geometric_trans.h: At global scope:
/usr/local/include/getfem/bgeot_geometric_trans.h:183:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const bgeot::geometric_trans> pgeometric_trans;
           ^
/usr/local/include/getfem/bgeot_geometric_trans.h:188:39: error:
‘pgeometric_trans’ has not been declared
                     const CONT &ptab, pgeometric_trans pgt = 0) {
                                       ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In function ‘void
bgeot::bounding_box(bgeot::base_node&, bgeot::base_node&, const CONT&,
int)’:
/usr/local/include/getfem/bgeot_geometric_trans.h:203:20: error: base
operand of ‘->’ is not a pointer
     if (pgt && !pgt->is_linear())
                    ^
/usr/local/include/getfem/bgeot_geometric_trans.h: At global scope:
/usr/local/include/getfem/bgeot_geometric_trans.h:214:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL simplex_geotrans(size_type n, short_type k);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:215:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL parallelepiped_geotrans(size_type n, short_type k);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:216:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL parallelepiped_linear_geotrans(size_type n);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:217:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL prism_geotrans(size_type n, short_type k);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:218:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL prism_linear_geotrans(size_type n);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:219:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL product_geotrans(pgeometric_trans pg1,
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:221:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL linear_product_geotrans(pgeometric_trans pg1,
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:223:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL Q2_incomplete_geotrans(dim_type nc);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:229:3: error:
‘pgeometric_trans’ does not name a type
   pgeometric_trans APIDECL geometric_trans_descriptor(std::string name);
   ^
/usr/local/include/getfem/bgeot_geometric_trans.h:245:47: error:
‘pgeometric_trans’ was not declared in this scope
   std::string APIDECL name_of_geometric_trans(pgeometric_trans p);
                                               ^
/usr/local/include/getfem/bgeot_geometric_trans.h:270:11: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
   typedef std::shared_ptr<const geotrans_precomp_> pgeotrans_precomp;
           ^
/usr/local/include/getfem/bgeot_geometric_trans.h:280:5: error:
‘pgeometric_trans’ does not name a type
     pgeometric_trans pgt;
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:281:5: error:
‘pstored_point_tab’ does not name a type
     pstored_point_tab pspt;  /* a set of points in the reference elt*/
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:311:5: error:
‘pgeometric_trans’ does not name a type
     pgeometric_trans get_trans() const { return pgt; }
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:313:12: error:
‘pstored_point_tab’ does not name a type
     inline pstored_point_tab get_ppoint_tab() const { return pspt; }
            ^
/usr/local/include/getfem/bgeot_geometric_trans.h:314:40: error:
expected ‘)’ before ‘pg’
     geotrans_precomp_(pgeometric_trans pg, pstored_point_tab ps);
                                        ^
/usr/local/include/getfem/bgeot_geometric_trans.h:327:12: error:
‘pgeotrans_precomp’ does not name a type
     friend pgeotrans_precomp
            ^
/usr/local/include/getfem/bgeot_geometric_trans.h:334:3: error:
‘pgeotrans_precomp’ does not name a type
   pgeotrans_precomp
   ^
In file included from /usr/local/include/gmm/gmm_ref.h:46:0,
                 from /usr/local/include/gmm/gmm_def.h:40,
                 from /usr/local/include/gmm/gmm_kernel.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:40,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘void bgeot::geotrans_precomp_::transform(const CONT&,
bgeot::size_type, VEC&) const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:347:5: error: ‘pgt’
was not declared in this scope
     GMM_ASSERT1(k == pgt->nb_points(),
     ^
In file included from /usr/local/include/getfem/bgeot_mesh.h:42:0,
                 from /usr/local/include/getfem/getfem_mesh.h:43,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_geometric_trans.h: At global scope:
/usr/local/include/getfem/bgeot_geometric_trans.h:361:40: error:
variable or field ‘delete_geotrans_precomp’ declared void
   void APIDECL delete_geotrans_precomp(pgeotrans_precomp pgp);
                                        ^
/usr/local/include/getfem/bgeot_geometric_trans.h:361:40: error:
‘pgeotrans_precomp’ was not declared in this scope
/usr/local/include/getfem/bgeot_geometric_trans.h:369:14: error:
‘pgeotrans_precomp’ was not declared in this scope
     std::set<pgeotrans_precomp> precomps;
              ^
/usr/local/include/getfem/bgeot_geometric_trans.h:369:31: error:
template argument 1 is invalid
     std::set<pgeotrans_precomp> precomps;
                               ^
/usr/local/include/getfem/bgeot_geometric_trans.h:369:31: error:
template argument 2 is invalid
/usr/local/include/getfem/bgeot_geometric_trans.h:369:31: error:
template argument 3 is invalid
/usr/local/include/getfem/bgeot_geometric_trans.h:373:5: error:
‘pgeotrans_precomp’ does not name a type
     pgeotrans_precomp operator()(pgeometric_trans pg,
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In destructor
‘bgeot::geotrans_precomp_pool::~geotrans_precomp_pool()’:
/usr/local/include/getfem/bgeot_geometric_trans.h:380:21: error:
‘pgeotrans_precomp’ was not declared in this scope
       for (std::set<pgeotrans_precomp>::iterator it = precomps.begin();
                     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:380:38: error:
template argument 1 is invalid
       for (std::set<pgeotrans_precomp>::iterator it = precomps.begin();
                                      ^
/usr/local/include/getfem/bgeot_geometric_trans.h:380:38: error:
template argument 2 is invalid
/usr/local/include/getfem/bgeot_geometric_trans.h:380:38: error:
template argument 3 is invalid
/usr/local/include/getfem/bgeot_geometric_trans.h:380:50: error:
invalid type in declaration before ‘it’
       for (std::set<pgeotrans_precomp>::iterator it = precomps.begin();
                                                  ^
/usr/local/include/getfem/bgeot_geometric_trans.h:380:50: error:
expected ‘;’ before ‘it’
/usr/local/include/getfem/bgeot_geometric_trans.h:380:50: error: ‘it’
was not declared in this scope
/usr/local/include/getfem/bgeot_geometric_trans.h:380:64: error:
request for member ‘begin’ in
‘((bgeot::geotrans_precomp_pool*)this)->bgeot::geotrans_precomp_pool::precomps’,
which is of non-class type ‘int’
       for (std::set<pgeotrans_precomp>::iterator it = precomps.begin();
                                                                ^
/usr/local/include/getfem/bgeot_geometric_trans.h:381:27: error:
request for member ‘end’ in
‘((bgeot::geotrans_precomp_pool*)this)->bgeot::geotrans_precomp_pool::precomps’,
which is of non-class type ‘int’
            it != precomps.end(); ++it)
                           ^
/usr/local/include/getfem/bgeot_geometric_trans.h:381:32: error:
expected ‘)’ before ‘;’ token
            it != precomps.end(); ++it)
                                ^
/usr/local/include/getfem/bgeot_geometric_trans.h:381:36: error: ‘it’
was not declared in this scope
            it != precomps.end(); ++it)
                                    ^
/usr/local/include/getfem/bgeot_geometric_trans.h:381:38: error:
expected ‘;’ before ‘)’ token
            it != precomps.end(); ++it)
                                      ^
/usr/local/include/getfem/bgeot_geometric_trans.h: At global scope:
/usr/local/include/getfem/bgeot_geometric_trans.h:401:5: error:
‘pgeometric_trans’ does not name a type
     pgeometric_trans pgt_;
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:402:5: error:
‘pgeotrans_precomp’ does not name a type
     pgeotrans_precomp pgp_;
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:403:5: error:
‘pstored_point_tab’ does not name a type
     pstored_point_tab pspt_; /** if pgp != 0, it is the same as pgp's one */
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:426:5: error:
‘pgeometric_trans’ in namespace ‘bgeot’ does not name a type
     bgeot::pgeometric_trans pgt() const { return pgt_; }
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:435:5: error:
‘pgeotrans_precomp’ in namespace ‘bgeot’ does not name a type
     bgeot::pgeotrans_precomp pgp() const { return pgp_; }
     ^
/usr/local/include/getfem/bgeot_geometric_trans.h:441:61: error:
expected ‘)’ before ‘pgp__’
     geotrans_interpolation_context(bgeot::pgeotrans_precomp pgp__,
                                                             ^
/usr/local/include/getfem/bgeot_geometric_trans.h:444:60: error:
expected ‘)’ before ‘pgt__’
     geotrans_interpolation_context(bgeot::pgeometric_trans pgt__,
                                                            ^
/usr/local/include/getfem/bgeot_geometric_trans.h:448:60: error:
expected ‘)’ before ‘pgt__’
     geotrans_interpolation_context(bgeot::pgeometric_trans pgt__,
                                                            ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘bool bgeot::geotrans_interpolation_context::have_pgt() const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:415:36: error:
‘pgt_’ was not declared in this scope
     bool have_pgt() const { return pgt_ != 0; }
                                    ^
/usr/local/include/getfem/bgeot_geometric_trans.h: In member function
‘bool bgeot::geotrans_interpolation_context::have_pgp() const’:
/usr/local/include/getfem/bgeot_geometric_trans.h:416:36: error:
‘pgp_’ was not declared in this scope
     bool have_pgp() const { return pgp_ != 0; }
                                    ^
/usr/local/include/getfem/bgeot_geometric_trans.h: At global scope:
/usr/local/include/getfem/bgeot_geometric_trans.h:459:59: error:
‘dal::naming_system<bgeot::geometric_trans>::pfunction’ has not been
declared
   (std::string name, dal::naming_system<geometric_trans>::pfunction f);
                                                           ^
In file included from /usr/local/include/getfem/getfem_mesh.h:43:0,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_mesh.h:71:24: error:
‘pgeometric_trans’ is not a member of ‘bgeot’
     dal::dynamic_array<bgeot::pgeometric_trans> gtab;
                        ^
/usr/local/include/getfem/bgeot_mesh.h:71:24: error:
‘pgeometric_trans’ is not a member of ‘bgeot’
/usr/local/include/getfem/bgeot_mesh.h:71:47: error: template argument
1 is invalid
     dal::dynamic_array<bgeot::pgeometric_trans> gtab;
                                               ^
/usr/local/include/getfem/bgeot_mesh.h:78:5: error: ‘pgeometric_trans’
in namespace ‘bgeot’ does not name a type
     bgeot::pgeometric_trans trans_of_convex(size_type ic) const {
     ^
/usr/local/include/getfem/bgeot_mesh.h:96:33: error:
‘bgeot::pgeometric_trans’ has not been declared
     size_type add_convex(bgeot::pgeometric_trans pgt, ITER ipts) {
                                 ^
/usr/local/include/getfem/bgeot_mesh.h: In member function
‘bgeot::size_type bgeot::basic_mesh::add_convex(int, ITER)’:
/usr/local/include/getfem/bgeot_mesh.h:98:51: error: base operand of
‘->’ is not a pointer
       size_type i = mesh_structure::add_convex(pgt->structure(), ipts,
                                                   ^
/usr/local/include/getfem/bgeot_mesh.h:100:13: error: invalid types
‘int[bgeot::size_type {aka long unsigned int}]’ for array subscript
       gtab[i] = pgt; trans_exists[i] = true;
             ^
/usr/local/include/getfem/bgeot_mesh.h: In member function
‘bgeot::size_type bgeot::basic_mesh::add_segment(bgeot::size_type,
bgeot::size_type)’:
/usr/local/include/getfem/bgeot_mesh.h:106:46: error:
‘simplex_geotrans’ was not declared in this scope
       return add_convex(simplex_geotrans(1, 1), &(ipt[0]));
                                              ^
/usr/local/include/getfem/bgeot_mesh.h: In member function
‘bgeot::size_type bgeot::basic_mesh::add_triangle(bgeot::size_type,
bgeot::size_type, bgeot::size_type)’:
/usr/local/include/getfem/bgeot_mesh.h:111:46: error:
‘simplex_geotrans’ was not declared in this scope
       return add_convex(simplex_geotrans(2, 1), &(ipt[0]));
                                              ^
/usr/local/include/getfem/bgeot_mesh.h: In member function
‘bgeot::size_type bgeot::basic_mesh::add_tetrahedron(bgeot::size_type,
bgeot::size_type, bgeot::size_type, bgeot::size_type)’:
/usr/local/include/getfem/bgeot_mesh.h:117:46: error:
‘simplex_geotrans’ was not declared in this scope
       return add_convex(simplex_geotrans(3, 1), &(ipt[0]));
                                              ^
In file included from /usr/local/include/getfem/bgeot_geotrans_inv.h:57:0,
                 from /usr/local/include/getfem/getfem_mesh.h:44,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_kdtree.h: At global scope:
/usr/local/include/getfem/bgeot_kdtree.h:105:5: error: ‘unique_ptr’ in
namespace ‘std’ does not name a type
     std::unique_ptr<kdtree_elt_base> tree;
     ^
/usr/local/include/getfem/bgeot_kdtree.h: In member function ‘void
bgeot::kdtree::add_point_with_id(const base_node&, bgeot::size_type)’:
/usr/local/include/getfem/bgeot_kdtree.h:121:11: error: ‘tree’ was not
declared in this scope
       if (tree) clear_tree();
           ^
In file included from /usr/local/include/getfem/getfem_mesh.h:44:0,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/bgeot_geotrans_inv.h: At global scope:
/usr/local/include/getfem/bgeot_geotrans_inv.h:66:5: error:
‘pgeometric_trans’ does not name a type
     pgeometric_trans pgt;
     ^
/usr/local/include/getfem/bgeot_geotrans_inv.h:74:10: error:
‘pgeometric_trans’ has not been declared
          pgeometric_trans pgt_,
          ^
/usr/local/include/getfem/bgeot_geotrans_inv.h:78:4: error:
‘pgeometric_trans’ has not been declared
    pgeometric_trans pgt_, scalar_type e=10e-12)
    ^
/usr/local/include/getfem/bgeot_geotrans_inv.h:80:53: error:
‘pgeometric_trans’ has not been declared
     template<class TAB> void init(const TAB &nodes, pgeometric_trans pgt_);
                                                     ^
/usr/local/include/getfem/bgeot_geotrans_inv.h: In constructor
‘bgeot::geotrans_inv_convex::geotrans_inv_convex(bgeot::scalar_type)’:
/usr/local/include/getfem/bgeot_geotrans_inv.h:72:61: error: class
‘bgeot::geotrans_inv_convex’ does not have any field named ‘pgt’
     geotrans_inv_convex(scalar_type e=10e-12) : N(0), P(0), pgt(0), EPS(e) {};
                                                             ^
/usr/local/include/getfem/bgeot_geotrans_inv.h: In constructor
‘bgeot::geotrans_inv_convex::geotrans_inv_convex(const
bgeot::convex<bgeot::small_vector<double>, TAB>&, int,
bgeot::scalar_type)’:
/usr/local/include/getfem/bgeot_geotrans_inv.h:76:21: error: class
‘bgeot::geotrans_inv_convex’ does not have any field named ‘pgt’
       : N(0), P(0), pgt(0), EPS(e) { init(cv.points(),pgt_); }
                     ^
/usr/local/include/getfem/bgeot_geotrans_inv.h: In constructor
‘bgeot::geotrans_inv_convex::geotrans_inv_convex(const
std::vector<bgeot::small_vector<double> >&, int, bgeot::scalar_type)’:
/usr/local/include/getfem/bgeot_geotrans_inv.h:79:21: error: class
‘bgeot::geotrans_inv_convex’ does not have any field named ‘pgt’
       : N(0), P(0), pgt(0), EPS(e) { init(nodes,pgt_); }
                     ^
/usr/local/include/getfem/bgeot_geotrans_inv.h: At global scope:
/usr/local/include/getfem/bgeot_geotrans_inv.h:129:53: error:
‘pgeometric_trans’ has not been declared
   void geotrans_inv_convex::init(const TAB &nodes,  pgeometric_trans pgt_) {
                                                     ^
/usr/local/include/getfem/bgeot_geotrans_inv.h: In member function
‘void bgeot::geotrans_inv_convex::init(const TAB&, int)’:
/usr/local/include/getfem/bgeot_geotrans_inv.h:130:30: error: ‘pgt’
was not declared in this scope
     bool geotrans_changed = (pgt != pgt_); if (geotrans_changed) pgt = pgt_;
                              ^
/usr/local/include/getfem/bgeot_geotrans_inv.h: At global scope:
/usr/local/include/getfem/bgeot_geotrans_inv.h:213:11: error:
‘pgeometric_trans’ has not been declared
           pgeometric_trans pgt,
           ^
/usr/local/include/getfem/bgeot_geotrans_inv.h:224:9: error:
‘pgeometric_trans’ has not been declared
         pgeometric_trans pgt,
         ^
In file included from /usr/local/include/getfem/getfem_config.h:214:0,
                 from /usr/local/include/getfem/getfem_context.h:40,
                 from /usr/local/include/getfem/getfem_mesh.h:45,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/getfem_superlu.h:85:5: error: ‘shared_ptr’
in namespace ‘std’ does not name a type
     std::shared_ptr<SuperLU_factor_impl_common> impl;
     ^
In file included from /usr/local/include/getfem/getfem_mesh.h:46:0,
                 from /usr/local/include/getfem/getfem_mesh_fem.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/getfem_mesh_region.h:92:5: error:
‘shared_ptr’ in namespace ‘std’ does not name a type
     std::shared_ptr<impl> p;  /* the real region data */
     ^
/usr/local/include/getfem/getfem_mesh_region.h: In member function
‘getfem::mesh_region::impl& getfem::mesh_region::wp()’:
/usr/local/include/getfem/getfem_mesh_region.h:113:26: error: ‘p’ was
not declared in this scope
     impl &wp() { return *p.get(); }
                          ^
/usr/local/include/getfem/getfem_mesh_region.h: In member function
‘const getfem::mesh_region::impl& getfem::mesh_region::rp() const’:
/usr/local/include/getfem/getfem_mesh_region.h:114:38: error: ‘p’ was
not declared in this scope
     const impl &rp() const { return *p.get(); }
                                      ^
In file included from /usr/local/include/getfem/getfem_mesh_fem.h:41:0,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:41,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/getfem_mesh.h: At global scope:
/usr/local/include/getfem/getfem_mesh.h:56:11: error: ‘shared_ptr’ in
namespace ‘std’ does not name a type
   typedef std::shared_ptr<const integration_method> pintegration_method;
           ^
/usr/local/include/getfem/getfem_mesh.h:98:59: error: expected
template-name before ‘<’ token
                        public std::enable_shared_from_this<mesh>
                                                           ^
/usr/local/include/getfem/getfem_mesh.h:98:59: error: expected ‘{’
before ‘<’ token
/usr/local/include/getfem/getfem_mesh.h:98:59: error: expected
unqualified-id before ‘<’ token
laplacian.cc:337:1: error: expected ‘}’ at end of input

On 5/3/17, Yves Renard <address@hidden> wrote:
>
> Dear Bharat Bhushan,
>
> I understand the problem, but do you really need that information. The best
> and simplest way to compute an integral in getFEM is to use the generic
> assembly language (see http://getfem.org/userdoc/gasm_high.html).
> If you define the contour in term of element edges, this is not difficult to
> compute the contour integral with the generic assembly language and you
> don't need to know whose degree of freedom is an enriched one and who is
> not. Moreover, if you need to distinguish between the value on the two sides
> of the crack (but this is only to integrate on the crack itself) you can use
> the Xfem_plus and Xfem_minus facilities (see
> http://getfem.org/userdoc/gasm_high.html#xfem-discontinuity-evaluation-with-mesh-fem-level-set).
>
> Of course, it would be possible to know the exact nature of each degree of
> freedom, but this is not so simple because of the operations such as direct
> sum of finite element spaces.
> Moreover, you have to know that the implementation is such that for shape
> function completely cut by the crack, there is two degrees of freedom, one
> for each side of the crack. It differs a bit from the standard Xfem
> implementation where there is a degree of freedom for the continuous fem and
> a degree of freedom for the jump. The reason is that this strategy is far
> easier to generalize to the case of multi-cracks (which is supported by the
> implementation done in GetFEM).
>
> Best regards,
>
> Yves.
>
>
>
>
> Le 02/05/2017 à 07:39, Bharat Bhushan a écrit :
>> Dear sir,
>>
>> I have solved an edge crack problem using GETFEM++ with XFEM
>> enrichments(code is attached) but i need to know the stress intensity
>> factor so that i can compare it with the analytical solution. I am
>> using the python interface and there is no function to directly
>> calculate the stress intensity factor in python interface of the
>> getfem++ so i have to write a code to calculate interaction integral.
>> To write the code i have to extract the values of nodal degrees of
>> freedom. But when extracting, i can only get a column vector which
>> contains all the degrees of freedom of a particular node in random
>> order. So i don't know which element of the column matrix is which
>> kind of enriched degree of freedom ( whether it is nonenriched,
>> heavyside or assymptotic enriched). please suggest how can i extract
>> the nodal degrees of freedom. Thank you.
>>
>> Here is my getfem++ python code:
>>
>>
>>
>>
>>     from __future__ import division
>>     import getfem as gf
>>     import numpy as np
>>     import matplotlib.pyplot as plt
>>
>>     w=178.0 # Width of cracked plate
>>     l=407.0  # Length of cracked plate
>>
>>     ######################################
>>     ## Build the Mesh ####################
>>     ######################################
>>
>>     # bulding cartesian mesh with 24*48 elements ( 4 - noded
>> quadrilaterals)
>>     m=gf.Mesh('cartesian',np.linspace(0.0,w,25),np.linspace(0.0,l,49))
>>
>>     # extracting the nodal and element connectivity matrices from the
>> mesh
>>     nodes=m.pts().transpose() # Nodal coordinates matrix
>>     elem=m.pid_from_cvid()[0].reshape(m.nbcvs(),4) # Element connectivity
>> matrix
>>     nnodes=len(nodes)
>>     nelem=len(elem)
>>     elem1=elem+1 # adding one to connectivity matrix to later import
>> in MATLAB for SIF calculation
>>
>>     # saving the nodes and elem matrix in csv format
>>     np.savetxt('nodes.csv',nodes,delimiter=',')
>>     np.savetxt('elem.csv',elem1,delimiter=',')
>>
>>     ##############################################################
>>     # detect the nodes to be enriched by crack-tip enrichments ###
>>     ##############################################################
>>
>>     # define the Crack tip locations
>>     cx=85.29 # x-coordinate of crack-tip
>>     cy=207.7395 # y-coordinate of crack-tip
>>     rad=8  # Radius of enrichment, taken close to element length so as
>> to enrich only one layer of nodes
>>     CT_Node=[] # crack tip nodes inside the specified radius rad
>>     for i in range(nnodes):
>>         if ((nodes[i,0]-cx)**2+(nodes[i,1]-cy)**2)<rad**2:
>>             CT_Node.append(i)
>>
>>     ##############################################
>>     ### XFEM-Enrichments #########################
>>     ##############################################
>>
>>     # 4-crack tip enrichment functions defined in GetFem++
>>     ck0 = gf.GlobalFunction('crack',0)
>>     ck1 = gf.GlobalFunction('crack',1)
>>     ck2 = gf.GlobalFunction('crack',2)
>>     ck3 = gf.GlobalFunction('crack',3)
>>
>>     # Levelset definition:
>>     ls = gf.LevelSet(m,1,'y-207.7395','x-85.29') # m is the Mesh, no.
>> of crack=1, equations of crack are y-cy=0 and x-cx=0
>>
>>     mls = gf.MeshLevelSet(m)
>>     # mls is the meshlevelset which will be used for defining the crack
>>     mls.add(ls)
>>     mls.adapt()
>>
>>     mf_pre_u = gf.MeshFem(m)
>>     mf_pre_u.set_fem(gf.Fem('FEM_QK(2,1)'))
>>
>>     #mf_pre_u is the MeshFem object without crack, with Q4 elements
>>
>>     mfls_u = gf.MeshFem('levelset',mls,mf_pre_u)
>>
>>     # mfls_u is the MeshFem object with the Heavyside enrichments
>>
>>     ################################################################
>>     #### define MeshFem with crack-tip enrichments #################
>>     ###############################################################
>>
>>     mf_sing_u = gf.MeshFem('global function',m,ls,[ck0,ck1,ck2,ck3],1)
>>     mf_part_unity = gf.MeshFem(m)
>>     mf_part_unity.set_classical_fem(1)
>>     DOFpts = mf_part_unity.basic_dof_nodes()
>>     Idofs_center=np.array(CT_Node)
>>     mf_xfem_sing = gf.MeshFem('product', mf_part_unity, mf_sing_u)
>>     # mf_xfem_sing is the MeshFem object with crack-tip enrichments
>>     mf_xfem_sing.set_enriched_dofs(Idofs_center)
>>     mfu = gf.MeshFem('sum', mfls_u,mf_xfem_sing) # summing up the
>> MeshFems with heavyside and crack-tip
>>     mfu.set_qdim(2) # set dimenstion eqaual to 2
>>
>>     ####################################################################
>>     #### Integration Method ###########################################
>>     ####################################################################
>>
>>     mim = gf.MeshIm('levelset', mls, 'all',
>>             gf.Integ('IM_STRUCTURED_COMPOSITE(IM_TRIANGLE(6),9)'),
>>
>> gf.Integ('IM_STRUCTURED_COMPOSITE(IM_GAUSS_PARALLELEPIPED(2,6),9)'),gf.Integ('IM_STRUCTURED_COMPOSITE(IM_GAUSS_PARALLELEPIPED(2,6),9)'))
>>
>>
>>     # Boundary selection
>>     flst  = m.outer_faces()
>>     fnor  = m.normal_of_faces(flst)
>>     tbot = abs(fnor[1,:]+1) < 1e-14
>>     ttop  = abs(fnor[1,:]-1) < 1e-14
>>     fbot = np.compress(tbot, flst, axis=1)
>>     ftop  = np.compress(ttop, flst, axis=1)
>>     fneum = np.compress(True - ttop - tbot, flst, axis=1)
>>
>>     # Mark it as boundary
>>     bottom = 1
>>     top = 2
>>     N = 3
>>     m.set_region(bottom, fbot)
>>     m.set_region(top, ftop)
>>     m.set_region(N, fneum)
>>
>>     # define the load to be applied on the top boundary
>>     mfrhs = gf.MeshFem(m, 2)
>>     mfrhs.set_fem(gf.Fem('FEM_QK(2,1)'))
>>     F2 = mfrhs.eval('[0,0,0,1000000]')
>>
>>     # Define the Model
>>     md = gf.Model('real')
>>     md.add_fem_variable('u', mfu)
>>
>>     # Add the lame's coefficients to the model
>>     Lambda = 1.25E10 # Lame coefficient #
>>     Mu = 1.875E10    # Lame coefficient #
>>     md.add_initialized_data('lambda', [Lambda])
>>     md.add_initialized_data('mu', [Mu])
>>
>>     # Add an isotropic elasticity matrix to the model
>>     md.add_isotropic_linearized_elasticity_brick(mim,'u','lambda','mu')
>>
>>     # Apply the Neumann condition.
>>     md.add_initialized_fem_data('NeumannData', mfrhs, F2)
>>     md.add_normal_source_term_brick(mim, 'u', 'NeumannData',top)
>>
>>     # Apply the Dirichlet condition so that its simply supported at the
>> bottom
>>
>>     cpoints=[]
>>     cunitv=[]
>>     for i in range(nnodes):
>>         if nodes[i,1]<1e-14:
>>             cpoints.append(nodes[i,0])
>>             cpoints.append(nodes[i,1])
>>             cunitv.append(0)
>>             cunitv.append(1)
>>     cpoints.append(0)
>>     cpoints.append(0)
>>     cunitv.append(1)
>>     cunitv.append(0)
>>     md.add_initialized_data('cpoints',cpoints)
>>     md.add_initialized_data('cunitv',cunitv)
>>     md.add_pointwise_constraints_with_multipliers('u','cpoints','cunitv')
>>
>>
>>     # Assembly of the linear system and solve.
>>     gf.memstats()
>>     md.solve()
>>     U = md.variable('u')
>>
>>     #####################################################
>>     ## Export data to Matlab to find SIF's ##############
>>     ####################################################
>>
>>     ele_cut=np.array([],dtype=int) #Elements cut by the crack
>>     ele_cut0=np.array([],dtype=int) #Elements cut by the crack and
>> enriched by only heavyside
>>     ele_cut1=np.array([],dtype=int) #Elements enriched by all
>> heavyside and one cracktip
>>     ele_cut2= np.array([],dtype=int) #Elements enriched by all
>> heavyside and two cracktip
>>     ele_cut3= np.array([],dtype=int) #Elements enriched by no
>> heavyside and all cracktip and all heavyside+3 crack
>>     ele_cut4= np.array([],dtype=int) #Elements enriched by one
>> heavyside and all cracktip
>>     ele_cut5= np.array([],dtype=int) #Elements enriched by two
>> heavyside and all cracktip
>>     helem= np.array([],dtype=int)
>>     sumdof=np.zeros([nelem,1],dtype=int)
>>
>>     h_node=[]
>>     nn=np.zeros((nnodes),dtype=int)
>>
>>     for i in range(nnodes):
>>         if (cy-nodes[i,1])>0:
>>             nn[i]=-1
>>         if (cy-nodes[i,1])<0:
>>             nn[i]=1
>>
>>     for i in range(nelem):
>>         if nn[elem[i,0]]+nn[elem[i,1]]+nn[elem[i,2]]+nn[elem[i,3]]==0
>> and nodes[elem[i,1],0]<cx-8:
>>             h_node=np.append(h_node,i)
>>         if nn[elem[i,0]]+nn[elem[i,1]]+nn[elem[i,2]]+nn[elem[i,3]]==0
>> and nodes[elem[i,0],0]<cx:
>>             ele_cut=np.append(ele_cut,i)
>>         if len(mfu.basic_dof_from_cv(i))==16:
>>             ele_cut0=np.append(ele_cut0,i)
>>         if len(mfu.basic_dof_from_cv(i))==24:
>>             ele_cut1=np.append(ele_cut1,i)
>>         if len(mfu.basic_dof_from_cv(i))==32:
>>             ele_cut2=np.append(ele_cut2,i)
>>         if len(mfu.basic_dof_from_cv(i))==40:
>>             ele_cut3=np.append(ele_cut3,i)
>>         if len(mfu.basic_dof_from_cv(i))==42:
>>             ele_cut4=np.append(ele_cut4,i)
>>         if len(mfu.basic_dof_from_cv(i))==44:
>>             ele_cut5=np.append(ele_cut5,i)
>>
>>         sumdof[i]=len(mfu.basic_dof_from_cv(i))
>>
>>
>> #####################################################################3
>>
>>     Node_DOF=np.zeros((nnodes,2),dtype=int)
>>
>>
>>     for i in range(nnodes):
>>         Node_DOF[i,0]=2
>>         if i in CT_Node:
>>             Node_DOF[i,0]=Node_DOF[i,0]+8
>>         if i in np.array(m.pid_from_cvid(h_node)).tolist()[0].tolist():
>>             Node_DOF[i,0]=Node_DOF[i,0]+2
>>         if i!=0:
>>             Node_DOF[i,1]=Node_DOF[i,0]+Node_DOF[i-1,1]
>>         if i==0:
>>             Node_DOF[i,1]=Node_DOF[i,0]
>>
>>     #####################################################################
>>     Ele_Node_DOF=np.zeros((nelem,5),dtype=int)
>>     aa=[0,1,2,3]
>>     for i in range(nelem):
>>
>>         Ele_Node_DOF[i,aa]=2
>>         for j in range(len(elem[i])):
>>             if elem[i][j] in CT_Node:
>>                 Ele_Node_DOF[i,j]=Ele_Node_DOF[i,j]+8
>>             if elem[i][j] in
>> np.array(m.pid_from_cvid(h_node)).tolist()[0].tolist():
>>                 Ele_Node_DOF[i,j]=Ele_Node_DOF[i,j]+2
>>         if i!=0:
>>
>> Ele_Node_DOF[i,4]=np.sum(Ele_Node_DOF[i,aa])+Ele_Node_DOF[i-1,4]
>>         if i==0:
>>             Ele_Node_DOF[i,4]=np.sum(Ele_Node_DOF[i,aa])
>>
>>
>>     H_Node=np.array([],dtype=int)
>>     H_node=np.array(m.pid_from_cvid(h_node)).tolist()[0].tolist()
>>     for i in H_node:
>>         if i not in H_Node:
>>             H_Node=np.append(H_Node,i)
>>
>>
>>
>> Regards
>> Bharat Bhushan
>> IIT Bombay, Mumbai,India
>>
>> _______________________________________________
>> Getfem-users mailing list
>> address@hidden
>> https://mail.gna.org/listinfo/getfem-users
>
>
> --
>
>   Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
>   Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
>   20, rue Albert Einstein
>   69621 Villeurbanne Cedex, FRANCE
>   http://math.univ-lyon1.fr/~renard
>
> ---------
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]