# Dolfinx install problem

**URL:** <https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780>\
**Category:** dolfinx\
**Created:** [October 8, 2021, 3:18am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780 "2021-10-08T03:18:45Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![wwshunan](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/wwshunan/32/852_2.png) [@wwshunan](https://fenicsproject.discourse.group/u/wwshunan)\
**Post date:** [October 8, 2021, 3:18am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/1 "2021-10-08T03:18:45Z")

</div>

Hi all,  
I tried to install dolfinx and have successfully installed complex petsc. An error was reported when I tried to install dolfinx package:

```auto
  -- Check size of PetscInt
  -- Check size of PetscInt - failed
  -- Looking for PETSC_USE_COMPLEX
  -- Looking for PETSC_USE_COMPLEX - not found

```

Thank you in advance for any help.

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [October 8, 2021, 4:36am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/2 "2021-10-08T04:36:12Z")

</div>

You Need to supply more information about the installation. How Did you install petsc? What is $PETSC\_DIR and $PETSC\_ARCH Set to?

---

<div class="post-metadata">

**Author:** ![wwshunan](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/wwshunan/32/852_2.png) [@wwshunan](https://fenicsproject.discourse.group/u/wwshunan)\
**Post date:** [October 8, 2021, 7:03am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/3 "2021-10-08T07:03:54Z")

</div>

dokken, I have installed petsc with the following method,  
`1. python3 ./configure --COPTFLAGS="${PETSC_SLEPC_OPTFLAGS}" --CXXOPTFLAGS="${PETSC_SLEPC_OPTFLAGS}" --FOPTFLAGS="${PETSC_SLEPC_OPTFLAGS}" --with-make-np=${PETSC_SLEPC_MAKE_NP} --with-64-bit-indices=no --with-debugging=${PETSC_SLEPC_DEBUGGING} --with-fortran-bindings=no --with-shared-libraries --download-hypre --download-metis --download-mumps --download-ptscotch --download-scalapack --download-suitesparse --download-superlu --download-superlu_dist --with-scalar-type=complex --download-cmake`

Its result,

```auto
PETSc:
  PETSC_ARCH: linux-gnu-complex-32
  PETSC_DIR: /usr/local/petsc
  Prefix: <inplace installation>
  Scalar type: complex
  Precision: double
  Support for __float128
  Integer size: 4 bytes
  Single library: yes
  Shared libraries: yes
  Memory alignment from malloc(): 16 bytes
  Using GNU make: /usr/bin/make
xxx=========================================================================xxx
 Configure stage complete. Now build PETSc libraries with:
   make PETSC_DIR=/usr/local/petsc PETSC_ARCH=linux-gnu-complex-32 all
xxx=========================================================================xxx

```

```auto
2. sudo make PETSC_DIR=/usr/local/petsc PETSC_ARCH=linux-gn
u-complex-32 all

```

Its result,

```auto
          CC linux-gnu-complex-32/obj/mat/order/amd/amd.o
          CC linux-gnu-complex-32/obj/mat/impls/aij/mpi/mumps/mumps.o
          CC linux-gnu-complex-32/obj/dm/impls/da/hypre/mhyp.o
          CC linux-gnu-complex-32/obj/ksp/pc/impls/hypre/hypre.o
     CLINKER linux-gnu-complex-32/lib/libpetsc.so.3.16.0
=========================================
Now to check if the libraries are working do:
make PETSC_DIR=/usr/local/petsc PETSC_ARCH=linux-gnu-complex-32 check

```

$PETSC\_DIR=/usr/local/petsc and $PETSC\_ARCH=linux-gnu-complex-32

I found a similar report at this link [cmake problem finding SLEPc: needs link to mpi · Issue #715 · FEniCS/dolfinx (github.com)](https://github.com/FEniCS/dolfinx/issues/715)

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [October 8, 2021, 7:33am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/4 "2021-10-08T07:33:40Z")

</div>

Have you exported PETSC\_DIR and PETSC\_ARCH as environment variables?  
What happens if you call

```auto
echo $PETSC_DIR
echo $PETSC_ARCH

```

---

<div class="post-metadata">

**Author:** ![wwshunan](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/wwshunan/32/852_2.png) [@wwshunan](https://fenicsproject.discourse.group/u/wwshunan)\
**Post date:** [October 8, 2021, 7:39am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/5 "2021-10-08T07:39:55Z")

</div>

The echo results are /usr/local/petsc and linux-gnu-complex-32 respective. Now I used pip3 install . rather than sudo -E pip3 install ., and it works. I’ll test if I can import dolfinx.

---

<div class="post-metadata">

**Author:** ![wwshunan](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/wwshunan/32/852_2.png) [@wwshunan](https://fenicsproject.discourse.group/u/wwshunan)\
**Post date:** [October 8, 2021, 8:08am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/6 "2021-10-08T08:08:46Z")

</div>

Dear dokken,  
Another error occurs when I import dolfinx and the message is,

```auto
In [1]: import dolfinx
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-7106aa1ed1ac> in <module>
----> 1 import dolfinx

~/.local/lib/python3.8/site-packages/dolfinx/ __init__.py in <module>
     43 from .cpp.mesh import Topology, Geometry
     44
---> 45 from .fem.form import Form
     46 from .fem.dirichletbc import DirichletBC
     47 from .fem import (FunctionSpace, VectorFunctionSpace,

~/.local/lib/python3.8/site-packages/dolfinx/fem/ __init__.py in <module>
      8
      9 from dolfinx.cpp.fem import IntegralType
---> 10 from dolfinx.fem.assemble import (apply_lifting, apply_lifting_nest,
     11 assemble_matrix, assemble_matrix_block,
     12 assemble_matrix_nest, assemble_scalar,

~/.local/lib/python3.8/site-packages/dolfinx/fem/assemble.py in <module>
     34
     35 form_type = typing.Union[Form, cpp.fem.Form, ufl.Form,
---> 36 collections.abc.Sequence[Form],
     37 collections.abc.Sequence[cpp.fem.Form],
     38 collections.abc.Sequence[ufl.Form]]

TypeError: 'ABCMeta' object is not subscriptable

```

Does the source code have bug?

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [October 8, 2021, 8:11am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/7 "2021-10-08T08:11:54Z")

</div>

This has recently been fixed (as of 12 hours ago), [Tweaks for building wheels by jhale · Pull Request #1740 · FEniCS/dolfinx · GitHub](https://github.com/FEniCS/dolfinx/pull/1740/files)

---

<div class="post-metadata">

**Author:** ![wwshunan](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/wwshunan/32/852_2.png) [@wwshunan](https://fenicsproject.discourse.group/u/wwshunan)\
**Post date:** [October 8, 2021, 9:25am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/8 "2021-10-08T09:25:34Z")

</div>

Dear dokken,  
Thank you very much. Since I used a dolfinx branch, another error occurred

```auto
Traceback (most recent call last):
  File "mesh.py", line 55, in <module>
    mesh, cell_tags, facet_tags = gmsh_model_to_mesh(
  File "/mnt/d/Workspace/fenics/return-stroke/test/gmsh_helpers.py", line 133, in gmsh_model_to_mesh
    facet_type = cell_entity_type(to_type(str(ufl_domain.ufl_cell())),
TypeError: cell_entity_type(): incompatible function arguments. The following argument types are supported:
    1. (arg0: dolfinx.cpp.mesh.CellType, arg1: int, arg2: int) -> dolfinx.cpp.mesh.CellType

Invoked with: <CellType.triangle: 3>, 1

```

Do you have any method to solve it?

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [October 8, 2021, 9:48am UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/9 "2021-10-08T09:48:07Z")

</div>

Change the input of cell\_entity\_type to

```auto
# FIXME: Last argument is 0 as all facets are the same for tetrahedra
facet_type = cell_entity_type(to_type(str(ufl_domain.ufl_cell())), fdim, 0)

```

as shown in  
[https://jorgensd.github.io/dolfinx-tutorial/chapter2/ns\_code2.html?highlight=cell\_entity\_type](https://jorgensd.github.io/dolfinx-tutorial/chapter2/ns_code2.html?highlight=cell_entity_type)

---

<div class="post-metadata">

**Author:** ![wwshunan](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/wwshunan/32/852_2.png) [@wwshunan](https://fenicsproject.discourse.group/u/wwshunan)\
**Post date:** [October 8, 2021, 12:11pm UTC](https://fenicsproject.discourse.group/t/dolfinx-install-problem/6780/10 "2021-10-08T12:11:30Z")

</div>

Now dolfinx can successfully run. Thank you again.
