Hello all,
I'm currently attempting to build getfem for Mac with the current clang (LLVM 9.1.0) and am getting this error:
In file included from getfem_generic_assembly_functions_and_operators.cc:22:
In file included from ./getfem/getfem_generic_assembly_semantic.h:41:
In file included from ./getfem/getfem_generic_assembly_tree.h:42:
In file included from ./getfem/getfem_generic_assembly.h:42:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/map:629:15: error: object of
type 'std::__1::pair<std::__1::basic_string<char>, getfem::ga_workspace::var_description>' cannot be assigned because its
copy assignment operator is implicitly deleted
{__nc = __v.__cc; return *this;}
(in instantiation of function blah blah, and so on) then:
./getfem/getfem_generic_assembly.h:263:9: note: in instantiation of member function 'std::__1::map<std::__1::basic_string<char>,
getfem::ga_workspace::var_description, std::__1::less<std::__1::basic_string<char> >,
std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, getfem::ga_workspace::var_description> >
>::operator=' requested here
class ga_workspace {
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility:325:5: note: copy
assignment operator is implicitly deleted because
'pair<std::__1::basic_string<char>, getfem::ga_workspace::var_description>' has a user-declared move constructor
pair(pair&&) = default;
This seems to occur wherever a ga_workspace object is assigned from using "=", for instance
local_workspace = gaf.local_workspace;
(from getfem_generic_assembly_functions_and_operators.cc, line 708). I'm already way out of my depth here but haven't found anything helpful just googling around, nor have I been able to replicate the error from scratch. If anyone has dealt with this or understands what clang is on about, I'd love to hear it!
Thanks,
Sam