Hi @vincent,
We just traced what is most likely going on. Briefly, UniFrac is optimized for GPUs. What we suspect is the codebase is detecting a viable GPU on your system, but the GPU is unavailable for compute, causing UniFrac to fail. It appears the detection mechanism is not robust enough, and we have opened an issue to track this. We expect it to be resolved in the next release of QIIME 2.
In the meantime, use of the GPU can be disabled by setting an environmental variable. Can you try running:
$ export UNIFRAC_USE_GPU=N
...and then rerun the call to UniFrac?
All the best,
Daniel