FEniCS / dolfinx

Next generation FEniCS problem solving environment
https://fenicsproject.org
GNU Lesser General Public License v3.0
731 stars 177 forks source link

Create conda packages #1505

Closed floriangc closed 2 years ago

floriangc commented 3 years ago

Hello,

Is it planned to have a conda package for dolfinx ? Or is it to early and dolfinx is not stable enough ?

Thanks !

garth-wells commented 3 years ago

We're planning to tag an alpha release in the coming days. A conda package would be welcome but we don't have the expertise to create and maintain a package. We'd need volunteers with experience.

floriangc commented 3 years ago

I have a small experience on building conda package and releasing it on conda-forge. I could give it a try, starting from what has been done for the conda-forge recipe of fenics.

astrojuanlu commented 3 years ago

I made the original fenics-recipes 6 years ago before conda-forge existed, it's been quite some time but would be happy to lend a hand as well :)

floriangc commented 3 years ago

I didnt had much time lately to work on this but there is a repo where I started working: https://github.com/floriangc/dolfinx-recipe

I managed to go through all the different dependencies of dolfinx (ufl, basix, ffcx). But it was 2 month ago and apparently numba was added to basix deps and the tests dont pass anymore.

mscroggs commented 3 years ago

The numba requirement for Basix should be optional (it's only used if you want to import basix.numba_helpers which are helper functions for writing custom DOLFINx kernels). I've made these tests skip if numba isn't installed in https://github.com/FEniCS/basix/pull/273

garth-wells commented 2 years ago

Conda package have been created by @minrk, see

minrk commented 2 years ago

Completed ARM builds for mac and linux over the weekend: conda install -c conda-forge mpich fenics-dolfinx, if anyone would like to test them out / give feedback on dependencies, etc.

kdanas commented 2 years ago

Hi. I am very inexperienced to FEniCS. I was using it for 2 years to teach. I have tried to install FEnics in my new Mac M1 Pro and while I install (using an environment) a number of packages (gmsh, pygmsh, jupyter, matplotlib etc...) when I use the prefix:

channels:

dependencies:

It does not work. It gives the error" Collecting package metadata (repodata.json): failed"

Si vous avez une idée.

RemDelaporteMathurin commented 2 years ago

Bonjour,

May be related to a conda bug.

See https://github.com/conda-forge/fenics-feedstock/issues/162#issuecomment-1181296532

A workaround would be to first install mamba, then install fenics (or dolfinx)

kdanas commented 2 years ago

Ok thanks. I have to reinstall everything. There are many conflicts. It would be great if this problem is fixed.

RemDelaporteMathurin commented 2 years ago

It would be great if this problem is fixed.

It's being worked on https://github.com/conda/conda/pull/11612

kdanas commented 2 years ago

Great. It is a matter of time then. I will try again later this week.

jhale commented 2 years ago

Having tried the conda builds on M1 in the past I can confirm that they work very well indeed, so I'd strongly recommend them once the issue in conda is fixed.

It is also 'relatively easy' to build FEniCSx on Mac taking all dependencies (MPI, PETSc, HDF5, Python etc.) from Homebrew.

minrk commented 2 years ago

The petsc metadata error has been fixed.

kdanas commented 2 years ago

Many thanks! The conda is now working for me. I will keep you posted if I find other issues.