Error during python installation of dolfinx

Hi there,

I am installing v060 from source. I can successfully build dolfinx cpp library. When attempt to install python wrapping, it gives this error;

(v060) ee331@paragon:~/Dev/Venvs/v060/repos/src/dolfinx/python$ CXXFLAGS=${DOLFINX_CMAKE_CXX_FLAGS} PETSC_ARCH=linux-gnu-complex-32 pip3 install  --target $VENV_DIR/lib/python3.8/dist-packages --no-dependencies .

/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/petsc4py/include/petsc4py/petsc4py.PETSc_api.h:446:172: error: expected primary-expression before 'struct'
      446 |   __pyx_ptype_8petsc4py_5PETSc_Partitioner = __Pyx_ImportType(module, "petsc4py.PETSc", "Partitioner", sizeof(struct PyPetscPartitionerObject), __PYX_GET_STRUCT_ALIGNMENT(struct PyPetscPartitionerObject),
          |                                                                                                                                                                            ^~~~~~
    /home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/petsc4py/include/petsc4py/petsc4py.PETSc_api.h:449:160: error: expected primary-expression before 'struct'
      449 |   __pyx_ptype_8petsc4py_5PETSc_DMLabel = __Pyx_ImportType(module, "petsc4py.PETSc", "DMLabel", sizeof(struct PyPetscDMLabelObject), __PYX_GET_STRUCT_ALIGNMENT(struct PyPetscDMLabelObject),
          |                                                                                                                                                                ^~~~~~
    [ 33%] Building CXX object CMakeFiles/cpp.dir/dolfinx/wrappers/geometry.cpp.o
    make[2]: *** [CMakeFiles/cpp.dir/build.make:90: CMakeFiles/cpp.dir/dolfinx/wrappers/common.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[2]: *** [CMakeFiles/cpp.dir/build.make:104: CMakeFiles/cpp.dir/dolfinx/wrappers/fem.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/cpp.dir/all] Error 2
    make: *** [Makefile:91: all] Error 2
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-2lh07_4u/setup.py", line 69, in <module>
        setup(name='fenics-dolfinx',
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
        return distutils.core.setup(**attrs)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
        return run_commands(dist)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
        dist.run_commands()
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
        self.run_command(cmd)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/dist.py", line 1243, in run_command
        super().run_command(command)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/command/install.py", line 74, in run
        return orig.install.run(self)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/command/install.py", line 697, in run
        self.run_command('build')
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/dist.py", line 1243, in run_command
        super().run_command(command)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in run
        self.run_command(cmd_name)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/dist.py", line 1243, in run_command
        super().run_command(command)
      File "/home/ee331/Dev/Venvs/v060/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/tmp/pip-req-build-2lh07_4u/setup.py", line 41, in run
        self.build_extension(ext)
      File "/tmp/pip-req-build-2lh07_4u/setup.py", line 66, in build_extension
        subprocess.check_call(['cmake', '--build', '.'] + build_args, cwd=self.build_temp, env=env)
      File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release']' returned non-zero exit status 2.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/ee331/Dev/Venvs/v060/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-2lh07_4u/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-2lh07_4u/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-v_py4sqd/install-record.txt --single-version-externally-managed --home /tmp/pip-target-xsluq_uc --compile --install-headers /home/ee331/Dev/Venvs/v060/include/site/python3.8/fenics-dolfinx Check the logs for full command output.

I am using ubuntu 20.04.

Thanks for your answers in advance.

See: petsc4py: Cython 0.29.34 creating broken header and very different header layout (#1359) · Issues · PETSc / petsc · GitLab
Solution is to pin cython, as done in: Fix Cython version to temporarily fix issue with petsc4py includes by jhale · Pull Request #2620 · FEniCS/dolfinx · GitHub
until cython has a new release