Skip to content

Compilation error #35

Description

@leeczway

Hi developers,

I am trying to compile aurora on Ubuntu. MOOSE environment was installed via mamba. Then both MOOSE and OPENMC were successfully compiled with no errors under the virtual environment. But there is a c++ error while compiling AURORA.:

OpenMCExecutioner.C:734:31: error: no match for 'operator=' (operand types are 'std::string' {aka 'std::__cxx11::basic_string'} and 'openmc::FilterType')
734 | f_info.type = filter.type();

/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/type_traits:2554:11: error: no type named 'type' in 'struct std::enable_if<false, std::__cxx11::basic_string&>'
2554 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;

Thanks !

Regards,
Wei

Below please see the detailed information.

lsb_release -a:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal

gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

error:
Checking if header needs updating: /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/include/base/MooseRevision.h...
Compiling C++ (in opt mode) /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/unity_src/executioners_Unity.C...
In file included from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/unity_src/executioners_Unity.C:2:
/home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/src/executioners/OpenMCExecutioner.C: In member function 'bool OpenMCExecutioner::setFilterInfo(openmc::Tally&, std::map<int, OpenMCExecutioner::FilterInfo>&, int32_t&, int32_t&)':
/home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/src/executioners/OpenMCExecutioner.C:734:31: error: no match for 'operator=' (operand types are 'std::string' {aka 'std::__cxx11::basic_string'} and 'openmc::FilterType')
734 | f_info.type = filter.type();
| ^
In file included from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/string:55,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/locale_classes.h:40,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/ios_base.h:41,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/ios:42,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/istream:38,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/sstream:38,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/complex:45,
from /home/ubuntu/miniconda3/envs/moopenmc/libmesh/include/libmesh/libmesh_common.h:46,
from /home/ubuntu/miniconda3/envs/moopenmc/libmesh/include/libmesh/threads.h:24,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/HashMap.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/MooseUtils.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/InputParameters.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/MooseObject.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/Executioner.h:12,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/Transient.h:12,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/header_symlinks/OpenMCExecutioner.h:5,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/src/executioners/OpenMCExecutioner.C:2,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/unity_src/executioners_Unity.C:2:
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:678:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
678 | operator=(const basic_string& __str)
| ^~~~~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:678:37: note: no known conversion for argument 1 from 'openmc::FilterType' to 'const std::__cxx11::basic_string&'
678 | operator=(const basic_string& __str)
| ~~~~~~~~~~~~~~~~~~~~^~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:688:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _CharT*) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
688 | operator=(const _CharT* __s)
| ^~~~~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:688:31: note: no known conversion for argument 1 from 'openmc::FilterType' to 'const char*'
688 | operator=(const _CharT* __s)
| ~~~~~~~~~~~~~~^~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:699:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(_CharT) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
699 | operator=(_CharT __c)
| ^~~~~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:699:24: note: no known conversion for argument 1 from 'openmc::FilterType' to 'char'
699 | operator=(_CharT __c)
| ~~~~~~~^~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:716:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
716 | operator=(basic_string&& __str)
| ^~~~~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:716:32: note: no known conversion for argument 1 from 'openmc::FilterType' to 'std::__cxx11::basic_string&&'
716 | operator=(basic_string&& __str)
| ~~~~~~~~~~~~~~~^~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:779:7: note: candidate: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
779 | operator=(initializer_list<_CharT> __l)
| ^~~~~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:779:42: note: no known conversion for argument 1 from 'openmc::FilterType' to 'std::initializer_list'
779 | operator=(initializer_list<_CharT> __l)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:793:8: note: candidate: 'template std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_If_sv<_Tp, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const _Tp&) [with _Tp = _Tp; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
793 | operator=(const _Tp& __svt)
| ^~~~~~~~
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:793:8: note: template argument deduction/substitution failed:
In file included from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/move.h:57,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/stl_pair.h:59,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/stl_algobase.h:64,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/specfun.h:45,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/cmath:1935,
from /home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/complex:44,
from /home/ubuntu/miniconda3/envs/moopenmc/libmesh/include/libmesh/libmesh_common.h:46,
from /home/ubuntu/miniconda3/envs/moopenmc/libmesh/include/libmesh/threads.h:24,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/HashMap.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/MooseUtils.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/InputParameters.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/MooseObject.h:13,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/Executioner.h:12,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build/header_symlinks/Transient.h:12,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/header_symlinks/OpenMCExecutioner.h:5,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/src/executioners/OpenMCExecutioner.C:2,
from /home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/unity_src/executioners_Unity.C:2:
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/type_traits: In substitution of 'template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::__cxx11::basic_string&]':
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:125:8: required by substitution of 'template<class _CharT, class _Traits, class _Alloc> template<class _Tp, class _Res> using _If_sv = std::enable_if_t<std::_and<std::is_convertible<const _Tp&, std::basic_string_view<_CharT, _Traits> >, std::_not<std::is_convertible<const _Tp*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>> >, std::_not<std::is_convertible<const _Tp&, const _CharT> > >::value, _Res> [with _Tp = openmc::FilterType; _Res = std::__cxx11::basic_string&; _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator]'
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/bits/basic_string.h:793:8: required by substitution of 'template std::__cxx11::basic_string::_If_sv<_Tp, std::__cxx11::basic_string&> std::__cxx11::basic_string::operator=<_Tp>(const _Tp&) [with _Tp = openmc::FilterType]'
/home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/src/executioners/OpenMCExecutioner.C:734:31: required from here
/home/ubuntu/miniconda3/envs/moopenmc/x86_64-conda-linux-gnu/include/c++/10.4.0/type_traits:2554:11: error: no type named 'type' in 'struct std::enable_if<false, std::__cxx11::basic_string&>'
2554 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;
| ^~~~~~~~~~~
make: *** [/home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/moose/framework/build.mk:145:/home/ubuntu/miniconda3/envs/moopenmc/openmc_packages/aurora/openmc/build/unity_src/executioners_Unity.x86_64-conda-linux-gnu.opt.lo] 错误 1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions