Dear Fenics community,
I’m currently trying to build Dolfin-x on Ubuntu 18.04 LTS with gcc 7.5.0 and mpich-3.3.2.
What I did:
installed mpi4py, latest PETsc, latest Eigen3 (form today):
pip3 install mpi4py --no-cache-dir
git clone https://gitlab.com/petsc/petsc.git petsc_dev
./configure --download-fblaslapack --download-blacs --download-metis --download-parmetis --download-parms --download-ptscotch --download-scotch --download-suitesparse --download-scalapack --download-mumps --download-superlu --download-superlu_dist --download-hypre --download-sundials --download-petsc4py
(making PETSc and installing as proposed)
sudo apt install libeigen3-dev
Thereafter, the following commands:
git clone https://bitbucket.org/fenics-project/fiat
git clone https://bitbucket.org/fenics-project/dijitso
git clone https://bitbucket.org/fenics-project/ufl
git clone https://github.com/FEniCS/ffcx
git clone https://github.com/FEniCS/dolfinx
git clone https://bitbucket.org/fenics-project/mshr
cd fiat && pip3 -v install --no-deps . && cd ..
cd dijitso && pip3 -v install --no-deps . && cd ..
cd ufl && pip3 -v install --no-deps . && cd ..
cd ffcx && pip3 -v install --no-deps . && cd ..
mkdir -p dolfinx/cpp/build && cd dolfinx/cpp/build && cmake .. && sudo make -j 6 install && cd ../..
cd python && pip3 install . --no-deps
mkdir -p mshr/build && cd mshr/build && cmake .. && sudo make -j 6 install && cd ../..
cd mshr/python && pip3 -v install --no-deps . && cd ../..
The command for building Dolfin-x (first sudo make -j 6 install) fails:
[ 57%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/graph/Partitioning.cpp.o
[ 58%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/graph/SCOTCH.cpp.o
[ 59%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/cells.cpp.o
[ 60%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/HDF5File.cpp.o
[ 61%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/HDF5Interface.cpp.o
[ 63%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/pugixml.cpp.o
[ 64%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/VTKFile.cpp.o
[ 65%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/VTKWriter.cpp.o
[ 66%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/XDMFFile.cpp.o
[ 67%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/xdmf_function.cpp.o
[ 69%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/xdmf_mesh.cpp.o
[ 70%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/io/xdmf_utils.cpp.o
[ 71%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/PETScKrylovSolver.cpp.o
[ 72%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/PETScMatrix.cpp.o
[ 73%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/PETScOperator.cpp.o
[ 75%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/PETScOptions.cpp.o
[ 76%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/PETScVector.cpp.o
[ 77%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/SLEPcEigenSolver.cpp.o
[ 78%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/SparsityPattern.cpp.o
[ 79%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/utils.cpp.o
[ 80%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/la/VectorSpaceBasis.cpp.o
[ 82%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/mesh/DistributedMeshTools.cpp.o
[ 83%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/mesh/GraphBuilder.cpp.o
[ 84%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/mesh/Mesh.cpp.o
[ 85%] Building CXX object dolfinx/CMakeFiles/dolfinx.dir/mesh/Geometry.cpp.o
/home/mh/work/fenics/dolfinx/cpp/dolfinx/mesh/GraphBuilder.cpp: In instantiation of ‘std::tuple<std::vector<std::vector<int, std::allocator >, std::allocator<std::vector<int, std::allocator > > >, std::vector<std::pair<std::vector<int, std::allocator >, int>, std::allocator<std::pair<std::vector<int, std::allocator >, int> > >, int> {anonymous}::compute_local_dual_graph_keyed(const Eigen::Array<long int, -1, -1, 1>&, const dolfinx::mesh::CellType&) [with int N = 1]’:
/home/mh/work/fenics/dolfinx/cpp/dolfinx/mesh/GraphBuilder.cpp:339:70: required from here
/home/mh/work/fenics/dolfinx/cpp/dolfinx/mesh/GraphBuilder.cpp:116:17: error: class template argument deduction failed:
{std::vector(facet0.begin(), facet0.end()), cell_index0});
**^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**
/home/mh/work/fenics/dolfinx/cpp/dolfinx/mesh/GraphBuilder.cpp:116:17: error: no matching function for call to ‘vector(std::array<int, 1>::const_iterator, std::array<int, 1>::const_iterator)’
In file included from /usr/include/c++/7/vector:64:0,
(…) plus a bunch of multiple further errors.
Tried latest Eigen3 release version, too, no success.
Ran through the process multiple times with complete removal and re-installation of all dependent packages, no success.
Does Dolfin-x only build against older, specific PETSc / Eigen3 versions?
Thanks for your help!
Best wishes,
Marc
P.S.: Installing the Fenics development version (so ffc and dolfin instead of the -x variants) works well.