fenics built from source using multi-arch docker images for modern python versions
Go to file
2021-12-26 23:35:44 -07:00
2019.2.0.dev0.txt list of builds, pruning 2021-12-26 15:19:07 -07:00
algorithm.patch working compilations 2021-12-19 20:52:03 -07:00
boost.patch working compilations 2021-12-19 20:52:03 -07:00
builds.txt publishing plan 2021-12-26 23:35:44 -07:00
create_publishing_plan.sh publishing plan 2021-12-26 23:35:44 -07:00
Dockerfile shrink image size by 37% on bullseye, 40% on buster 2021-12-26 13:21:20 -07:00
Dockerfile-2019.1.0 remove mshr and slim down 2019.1.0 images 2021-12-26 13:31:09 -07:00
Makefile list of builds, pruning 2021-12-26 15:19:07 -07:00
patches.patch shrink image size by 37% on bullseye, 40% on buster 2021-12-26 13:21:20 -07:00
petsc-slepc.patch working compilations 2021-12-19 20:52:03 -07:00
README.md cleanup 2021-12-19 21:29:37 -07:00

fenics installation

Compiles and installs the python bindings for dolfin and mshr.

Primarily for use as a base image (reflecting the desired python version).

Batteries: petsc, slepc, boost, blas, lapack, fortran, eigen3 Also includes: numpy and scipy

make
docker run --rm -ti fenics bash

There is also the option to build the latest release

make 2019.1.0.post0

patches

Some patches needed to be applied to successfully compile.

On bullseye, petsc causes problems which are fixed by using 2019.1.0.post0. There is an unused patch for petsc and slepsc which is included "just in case" it becomes useful at a future date.

TODO

  • github actions to publish images automatically (cross-platform)
  • build (with env vars?) for different base-python images (or separate dockerfiles)
  • slim down images (can we remove the source directories after installation if we combine the python and C++ steps?) (can we use the slim version of the images?)
  • combine Dockerfiles (make env variables for dolfin version + python version), use makefile to control different options
  • cover all python versions shown by following output (list built from docker hub):
echo 3.6.{9..13}-buster 3.{7..8}.{4..10}-buster {3.6.{14..15},3.{7..8}.{11..12},3.9.{6..9},3.10.{0..1}}-{bullseye,buster} | sort

contributions

Are welcome; see TODO.