Dear FENICS community.
I’m trying to install the main branch of dolfinx-mpc on top of a docker container with Dolfinx v.0.7.3. I have followed the instructions in https://github.com/jorgensd/dolfinx_mpc/tree/main?tab=readme-ov-file#source However, when running ninja -j3 install -C build-dir
the compilation process shows the following errors (I deleted repeated ones to maintain character limits):
ninja: Entering directory `build-dir'
[1/8] Building CXX object CMakeFiles/dolfinx_mpc.dir/utils.cpp.o
FAILED: CMakeFiles/dolfinx_mpc.dir/utils.cpp.o
/usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_ALL_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_TIMER_DYN_LINK -DDOLFINX_MPC_VERSION=\"0.7.0.0\" -DDOLFINX_VERSION=\"0.7.3\" -DHAS_ADIOS2 -DHAS_PTSCOTCH -DHAS_SLEPC -Ddolfinx_mpc_EXPORTS -I/home/shared/dolfinx_mpc-main/cpp -I/home/shared/dolfinx_mpc-main/cpp/dolfinx_mpc -isystem /usr/local/dolfinx-real/include -isystem /usr/local/lib/python3.10/dist-packages/ffcx/codegeneration -isystem /usr/local/petsc/linux-gnu-real64-32/include -isystem /usr/local/petsc/include -isystem /usr/local/slepc/linux-gnu-real64-32/include -isystem /usr/local/slepc/include -O3 -DNDEBUG -fPIC -std=c++20 -MD -MT CMakeFiles/dolfinx_mpc.dir/utils.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/utils.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/utils.cpp.o -c /home/shared/dolfinx_mpc-main/cpp/utils.cpp
In file included from /home/shared/dolfinx_mpc-main/cpp/MultiPointConstraint.h:9,
from /home/shared/dolfinx_mpc-main/cpp/utils.h:9,
from /home/shared/dolfinx_mpc-main/cpp/utils.cpp:7:
/home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h: In function 'dolfinx::fem::FunctionSpace<T> dolfinx_mpc::create_extended_functionspace(const dolfinx::fem::FunctionSpace<T>&, const std::vector<long int>&, const std::vector<int>&)':
/home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h:238:21: error: 'compute_value_shape' is not a member of 'dolfinx::fem'
238 | dolfinx::fem::compute_value_shape(element, V.mesh()->topology()->dim(),
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/shared/dolfinx_mpc-main/cpp/utils.cpp:7:
/home/shared/dolfinx_mpc-main/cpp/utils.h: In function 'dolfinx_mpc::mpc_data<T> dolfinx_mpc::distribute_ghost_data(std::span<const int>, std::span<const long int>, std::span<const T>, std::span<const int>, std::span<const int>, const dolfinx::common::IndexMap&, int)':
/home/shared/dolfinx_mpc-main/cpp/utils.h:734:28: error: 'create_sub_index_map' is not a member of 'dolfinx::common'
734 | = dolfinx::common::create_sub_index_map(imap, blocks, false);
| ^~~~~~~~~~~~~~~~~~~~
[2/8] Building CXX object CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o
FAILED: CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o
/usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_ALL_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_TIMER_DYN_LINK -DDOLFINX_MPC_VERSION=\"0.7.0.0\" -DDOLFINX_VERSION=\"0.7.3\" -DHAS_ADIOS2 -DHAS_PTSCOTCH -DHAS_SLEPC -Ddolfinx_mpc_EXPORTS -I/home/shared/dolfinx_mpc-main/cpp -I/home/shared/dolfinx_mpc-main/cpp/dolfinx_mpc -isystem /usr/local/dolfinx-real/include -isystem /usr/local/lib/python3.10/dist-packages/ffcx/codegeneration -isystem /usr/local/petsc/linux-gnu-real64-32/include -isystem /usr/local/petsc/include -isystem /usr/local/slepc/linux-gnu-real64-32/include -isystem /usr/local/slepc/include -O3 -DNDEBUG -fPIC -std=c++20 -MD -MT CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/assemble_vector.cpp.o -c /home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp
In file included from /home/shared/dolfinx_mpc-main/cpp/MultiPointConstraint.h:9,
from /home/shared/dolfinx_mpc-main/cpp/assemble_vector.h:9,
from /home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:7:
/home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h: In function 'dolfinx::fem::FunctionSpace<T> dolfinx_mpc::create_extended_functionspace(const dolfinx::fem::FunctionSpace<T>&, const std::vector<long int>&, const std::vector<int>&)':
/home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h:238:21: error: 'compute_value_shape' is not a member of 'dolfinx::fem'
238 | dolfinx::fem::compute_value_shape(element, V.mesh()->topology()->dim(),
| ^~~~~~~~~~~~~~~~~~~
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp: In instantiation of 'void {anonymous}::_assemble_vector(std::span<_Type, 18446744073709551615>, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = double; U = double; dolfinx::scalar_value_type_t<T> = double]':
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:257:27: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:123:27: error: 'using element_type = const class dolfinx::fem::FiniteElement<double>' {aka 'const class dolfinx::fem::FiniteElement<double>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
123 | = element->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp: In instantiation of 'void {anonymous}::_assemble_vector(std::span<_Type, 18446744073709551615>, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = std::complex<double>; U = double; dolfinx::scalar_value_type_t<T> = double]':
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:267:41: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:123:27: error: 'using element_type = const class dolfinx::fem::FiniteElement<double>' {aka 'const class dolfinx::fem::FiniteElement<double>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
123 | = element->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp: In instantiation of 'void {anonymous}::_assemble_vector(std::span<_Type, 18446744073709551615>, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = float; U = float; dolfinx::scalar_value_type_t<T> = float]':
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:275:26: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:123:27: error: 'using element_type = const class dolfinx::fem::FiniteElement<float>' {aka 'const class dolfinx::fem::FiniteElement<float>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
123 | = element->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp: In instantiation of 'void {anonymous}::_assemble_vector(std::span<_Type, 18446744073709551615>, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = std::complex<float>; U = float; dolfinx::scalar_value_type_t<T> = float]':
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:285:40: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:123:27: error: 'using element_type = const class dolfinx::fem::FiniteElement<float>' {aka 'const class dolfinx::fem::FiniteElement<float>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
123 | = element->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
In file included from /usr/include/c++/11/functional:59,
from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /usr/local/dolfinx-real/include/dolfinx/fem/CoordinateElement.h:10,
from /usr/local/dolfinx-real/include/dolfinx/fem/FunctionSpace.h:9,
from /home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h:8,
from /home/shared/dolfinx_mpc-main/cpp/MultiPointConstraint.h:9,
from /home/shared/dolfinx_mpc-main/cpp/assemble_vector.h:9,
from /home/shared/dolfinx_mpc-main/cpp/assemble_vector.cpp:7:
/usr/include/c++/11/bits/std_function.h: At global scope:
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(std::span<const int>)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type 'const {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(std::span<const int>)>', is used but never defined [-fpermissive]
435 | function(_Functor&& __f)
| ^~~~~~~~
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(std::span<double>, std::span<const int>, int32_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<double, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(std::span<double>, std::span<const int>, int32_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(auto:196)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type '{anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(auto:196)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(std::span<double>, std::span<const int>, std::size_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<double, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<double, double>(std::span<double>, const dolfinx::fem::Form<double>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<double, double> >&)::<lambda(std::span<double>, std::span<const int>, std::size_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(std::span<const int>)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type 'const {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(std::span<const int>)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(std::span<std::complex<double> >, std::span<const int>, int32_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<std::complex<double>, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(std::span<std::complex<double> >, std::span<const int>, int32_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(auto:196)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type '{anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(auto:196)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(std::span<std::complex<double> >, std::span<const int>, std::size_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<std::complex<double>, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<std::complex<double>, double>(std::span<std::complex<double> >, const dolfinx::fem::Form<std::complex<double> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<double>, double> >&)::<lambda(std::span<std::complex<double> >, std::span<const int>, std::size_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(std::span<const int>)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type 'const {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(std::span<const int>)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(std::span<float>, std::span<const int>, int32_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<float, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(std::span<float>, std::span<const int>, int32_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(auto:196)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type '{anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(auto:196)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(std::span<float>, std::span<const int>, std::size_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<float, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<float, float>(std::span<float>, const dolfinx::fem::Form<float>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<float, float> >&)::<lambda(std::span<float>, std::span<const int>, std::size_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(std::span<const int>)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type 'const {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(std::span<const int>)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(std::span<std::complex<float> >, std::span<const int>, int32_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<std::complex<float>, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(std::span<std::complex<float> >, std::span<const int>, int32_t)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(auto:196)>&; _Constraints = void; _Res = const int; _ArgTypes = {std::span<const int, 18446744073709551615>}]', declared using local type '{anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(auto:196)>', is used but never defined [-fpermissive]
/usr/include/c++/11/bits/std_function.h:435:9: error: 'std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(std::span<std::complex<float> >, std::span<const int>, std::size_t)>&; _Constraints = void; _Res = void; _ArgTypes = {std::span<std::complex<float>, 18446744073709551615>, std::span<const int, 18446744073709551615>, long unsigned int}]', declared using local type 'const {anonymous}::_assemble_vector<std::complex<float>, float>(std::span<std::complex<float> >, const dolfinx::fem::Form<std::complex<float> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<std::complex<float>, float> >&)::<lambda(std::span<std::complex<float> >, std::span<const int>, std::size_t)>', is used but never defined [-fpermissive]
[3/8] Building CXX object CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o
FAILED: CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o
/usr/bin/c++ -DADIOS2_USE_MPI -DBOOST_ALL_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_TIMER_DYN_LINK -DDOLFINX_MPC_VERSION=\"0.7.0.0\" -DDOLFINX_VERSION=\"0.7.3\" -DHAS_ADIOS2 -DHAS_PTSCOTCH -DHAS_SLEPC -Ddolfinx_mpc_EXPORTS -I/home/shared/dolfinx_mpc-main/cpp -I/home/shared/dolfinx_mpc-main/cpp/dolfinx_mpc -isystem /usr/local/dolfinx-real/include -isystem /usr/local/lib/python3.10/dist-packages/ffcx/codegeneration -isystem /usr/local/petsc/linux-gnu-real64-32/include -isystem /usr/local/petsc/include -isystem /usr/local/slepc/linux-gnu-real64-32/include -isystem /usr/local/slepc/include -O3 -DNDEBUG -fPIC -std=c++20 -MD -MT CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o -MF CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o.d -o CMakeFiles/dolfinx_mpc.dir/assemble_matrix.cpp.o -c /home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp
In file included from /home/shared/dolfinx_mpc-main/cpp/MultiPointConstraint.h:9,
from /home/shared/dolfinx_mpc-main/cpp/assemble_matrix.h:8,
from /home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:7:
/home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h: In function 'dolfinx::fem::FunctionSpace<T> dolfinx_mpc::create_extended_functionspace(const dolfinx::fem::FunctionSpace<T>&, const std::vector<long int>&, const std::vector<int>&)':
/home/shared/dolfinx_mpc-main/cpp/mpc_helpers.h:238:21: error: 'compute_value_shape' is not a member of 'dolfinx::fem'
238 | dolfinx::fem::compute_value_shape(element, V.mesh()->topology()->dim(),
| ^~~~~~~~~~~~~~~~~~~
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp: In instantiation of 'void {anonymous}::assemble_matrix_impl(const std::function<int(std::span<const int>, std::span<const int>, std::span<const T>)>&, const std::function<int(std::span<const int>, std::span<const int>, std::span<const T>)>&, const dolfinx::fem::Form<T>&, const std::vector<signed char>&, const std::vector<signed char>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = double; U = double; dolfinx::scalar_value_type_t<T> = double]':
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:673:26: required from 'void {anonymous}::_assemble_matrix(const std::function<int(std::span<const int>, std::span<const int>, const std::span<const T>&)>&, const std::function<int(std::span<const int>, std::span<const int>, const std::span<const T>&)>&, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::vector<std::shared_ptr<const dolfinx::fem::DirichletBC<T> > >&, T) [with T = double; U = double; dolfinx::scalar_value_type_t<T> = double]'
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:710:19: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:564:28: error: 'using element_type = const class dolfinx::fem::FiniteElement<double>' {aka 'const class dolfinx::fem::FiniteElement<double>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
564 | = element0->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:568:28: error: 'using element_type = const class dolfinx::fem::FiniteElement<double>' {aka 'const class dolfinx::fem::FiniteElement<double>'} has no member named 'get_post_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
568 | = element1->template get_post_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp: In instantiation of 'void {anonymous}::assemble_matrix_impl(const std::function<int(std::span<const int>, std::span<const int>, std::span<const T>)>&, const std::function<int(std::span<const int>, std::span<const int>, std::span<const T>)>&, const dolfinx::fem::Form<T>&, const std::vector<signed char>&, const std::vector<signed char>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = std::complex<double>; U = double; dolfinx::scalar_value_type_t<T> = double]':
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:673:26: required from 'void {anonymous}::_assemble_matrix(const std::function<int(std::span<const int>, std::span<const int>, const std::span<const T>&)>&, const std::function<int(std::span<const int>, std::span<const int>, const std::span<const T>&)>&, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::vector<std::shared_ptr<const dolfinx::fem::DirichletBC<T> > >&, T) [with T = std::complex<double>; U = double; dolfinx::scalar_value_type_t<T> = double]'
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:732:19: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:564:28: error: 'using element_type = const class dolfinx::fem::FiniteElement<double>' {aka 'const class dolfinx::fem::FiniteElement<double>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
564 | = element0->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:568:28: error: 'using element_type = const class dolfinx::fem::FiniteElement<double>' {aka 'const class dolfinx::fem::FiniteElement<double>'} has no member named 'get_post_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
568 | = element1->template get_post_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp: In instantiation of 'void {anonymous}::assemble_matrix_impl(const std::function<int(std::span<const int>, std::span<const int>, std::span<const T>)>&, const std::function<int(std::span<const int>, std::span<const int>, std::span<const T>)>&, const dolfinx::fem::Form<T>&, const std::vector<signed char>&, const std::vector<signed char>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&) [with T = float; U = float; dolfinx::scalar_value_type_t<T> = float]':
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:673:26: required from 'void {anonymous}::_assemble_matrix(const std::function<int(std::span<const int>, std::span<const int>, const std::span<const T>&)>&, const std::function<int(std::span<const int>, std::span<const int>, const std::span<const T>&)>&, const dolfinx::fem::Form<T>&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::shared_ptr<const dolfinx_mpc::MultiPointConstraint<T, U> >&, const std::vector<std::shared_ptr<const dolfinx::fem::DirichletBC<T> > >&, T) [with T = float; U = float; dolfinx::scalar_value_type_t<T> = float]'
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:751:19: required from here
/home/shared/dolfinx_mpc-main/cpp/assemble_matrix.cpp:564:28: error: 'using element_type = const class dolfinx::fem::FiniteElement<float>' {aka 'const class dolfinx::fem::FiniteElement<float>'} has no member named 'get_pre_dof_transformation_function'; did you mean 'get_dof_transformation_function'?
564 | = element0->template get_pre_dof_transformation_function<T>();
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| get_dof_transformation_function
ninja: build stopped: subcommand failed.
How can I install the software properly?
Thanks in advance.