How to compile in C++ with dolfinx?

I have to refer to so far:

to which I followed the installation instructions contained within with apt terminal command.

First thing I had to do was install OpenMPI from source so that compiler can find mpi.h.

So far the only version of basix I have available to me is v0.6.0 (v0.7.0 is currently branch not found)

So the compiler is now looking for ufcx.h which I am under the impression is coming from package called ffcx. So I have access only so far to a recent github version to install from source.

So then:

prusso@yoga:~/ffcx$ pip install .
Defaulting to user installation because normal site-packages is not writeable
Processing /home/prusso/ffcx
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: cffi in /usr/lib/python3/dist-packages (from fenics-ffcx==0.7.0.dev0) (1.15.0)
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from fenics-ffcx==0.7.0.dev0) (1.21.5)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from fenics-ffcx==0.7.0.dev0) (59.6.0)
ERROR: Could not find a version that satisfies the requirement fenics-basix<0.8.0,>=0.7.0.dev0 (from fenics-ffcx) (from versions: 0.4.0, 0.4.2.post1, 0.5.0, 0.6.0)
ERROR: No matching distribution found for fenics-basix<0.8.0,>=0.7.0.dev0
prusso@yoga:~/ffcx$ 

OK… So then there must be a way to ffcx install a ufcx.h? Anyone can help out which way to do this?

(So maybe to better phrase this… I am aware of a way to spack install that brings in basix v0.7.0 to build dolfinx cpp source from and install. The difficulty I have so far seems to be if the spack install is showing all packages to the compiler g++ or if additional steps need to be taken other than activated spack env to make spack packages available across the whole system environment to g++. So far if I choose a spack install way (as oppsed to apt) I still seem to be going through a different set of issues that I am asking separately from this issue on a different post. So far here is just a question should this turn into spack situation so far that is the only way I know of to access basix v0.7.0 so we can then install ffcx some way…)

Please start with checking what branch of ffcx you are using. i.e. what is the output of git branch.

The output of git branch is:

prusso@yoga:~/ffcx$ git branch
* main

So for now I used an OpenMPI from source installed:

./configure
make
sudo make install

as I may have the impression that there also is an hdf5 in MPI mode how those differ or are used it?

You have installed Basix v0.6.0

And should therefore compile against a compatible branch; v0.6.0