Hi there,
When I try to build basix from source to install dolfinx from source, I got following error;
When I run the following command in /cpp directory;
$ cmake --build build-dir
Then I get;
[ 5%] Building CXX object CMakeFiles/basix.dir/basix/cell.cpp.o
In file included from /home/ee331/anaconda3/envs/dolfinx/include/xtensor/xaccumulator.hpp:18:0,
from /home/ee331/anaconda3/envs/dolfinx/include/xtensor/xmath.hpp:26,
from /home/ee331/anaconda3/envs/dolfinx/include/xtensor/xcontainer.hpp:25,
from /home/ee331/anaconda3/envs/dolfinx/include/xtensor/xtensor.hpp:20,
from /home/ee331/anaconda3/envs/dolfinx/basix/cpp/basix/cell.h:8,
from /home/ee331/anaconda3/envs/dolfinx/basix/cpp/basix/cell.cpp:5:
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xexpression.hpp: In instantiation of ‘struct xt::detail::is_crtp_base_of_impl<xt::xexpression, xt::has_simd_interface<xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >, double> >’:
/home/ee331/anaconda3/envs/dolfinx/include/xtl/xtype_traits.hpp:323:12: required from ‘struct xtl::disjunction<xt::detail::is_crtp_base_of_impl<xt::xexpression, xt::has_simd_interface<xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >, double> >, xt::detail::is_crtp_base_of_impl<xt::xexpression, xt::has_simd_interface<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 1, (xt::layout_type)1, xt::xtensor_expression_tag>, double> > >’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xoperation.hpp:212:90: required by substitution of ‘template<class F, class ... E> using xfunction_type_t = typename std::enable_if<xtl::disjunction<xt::is_xexpression<typename std::decay<CT>::type>...>::value, xt::detail::xfunction_type<F, E ...> >::type::type [with F = xt::detail::logical_and; E = {xt::has_simd_interface<xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >, double>, xt::has_simd_interface<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 1, (xt::layout_type)1, xt::xtensor_expression_tag>, double>}]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xoperation.hpp:375:17: required by substitution of ‘template<class E1, class E2> xt::detail::xfunction_type_t<xt::detail::logical_and, E1, E2> xt::operator&&(E1&&, E2&&) [with E1 = xt::has_simd_interface<xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >, double>; E2 = xt::has_simd_interface<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 1, (xt::layout_type)1, xt::xtensor_expression_tag>, double>]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xassign.hpp:345:104: required from ‘static constexpr bool xt::xassign_traits<E1, E2>::simd_interface() [with E1 = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; E2 = xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 1, (xt::layout_type)1, xt::xtensor_expression_tag>]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xassign.hpp:353:106: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xview.hpp:1741:106: required from ‘void xt::xview<CT, S>::assign_temporary_impl(xt::xview<CT, S>::temporary_type&&) [with CT = xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&; S = {const long int, xt::xall<long unsigned int>}; xt::xview<CT, S>::temporary_type = xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 1, (xt::layout_type)1, xt::xtensor_expression_tag>]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xsemantic.hpp:662:9: required from ‘xt::xview_semantic<D>::derived_type& xt::xview_semantic<D>::assign_temporary(xt::xview_semantic<D>::temporary_type&&) [with D = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; xt::xview_semantic<D>::derived_type = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; xt::xview_semantic<D>::temporary_type = xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 1, (xt::layout_type)1, xt::xtensor_expression_tag>]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xsemantic.hpp:601:68: required from ‘xt::xsemantic_base<D>::derived_type& xt::xsemantic_base<D>::operator=(const xt::xexpression<E>&) [with E = xt::xbroadcast<const xt::xview<const xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >&, xt::sequence_view<std::array<long unsigned int, 2>, 1, 2> >; D = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; xt::xsemantic_base<D>::derived_type = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xsemantic.hpp:746:33: required from ‘xt::xview_semantic<D>::derived_type& xt::xview_semantic<D>::operator=(const xt::xexpression<E>&) [with E = xt::xview<const xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; D = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; xt::xview_semantic<D>::derived_type = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >]’
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xview.hpp:931:40: required from ‘xt::xview<CT, S>::self_type& xt::xview<CT, S>::operator=(const xt::xexpression<E>&) [with E = xt::xview<const xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >; CT = xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&; S = {const long int, xt::xall<long unsigned int>}; xt::xview<CT, S>::self_type = xt::xview<xt::xtensor_container<xt::uvector<double, std::allocator<double> >, 2, (xt::layout_type)1, xt::xtensor_expression_tag>&, const long int, xt::xall<long unsigned int> >]’
/home/ee331/anaconda3/envs/dolfinx/basix/cpp/basix/cell.cpp:331:64: required from here
/home/ee331/anaconda3/envs/dolfinx/include/xtensor/xexpression.hpp:168:88: internal compiler error: Segmentation fault
::disjunction< std::is_base_of<B<E>, F<E>>, std::is_base_of<B<F<E>>, F<E>>> {};
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
CMakeFiles/basix.dir/build.make:81: recipe for target 'CMakeFiles/basix.dir/basix/cell.cpp.o' failed
make[2]: *** [CMakeFiles/basix.dir/basix/cell.cpp.o] Error 1
CMakeFiles/Makefile2:94: recipe for target 'CMakeFiles/basix.dir/all' failed
make[1]: *** [CMakeFiles/basix.dir/all] Error 2
Makefile:148: recipe for target 'all' failed
make: *** [all] Error 2
How can I resolve this problem? I am trying to install dolfinx to our cluster which has Ubuntu 18.04 OS.
Thanks for your responses in advance.