Using a Custom libMesh or PETSc

The build instructions given on Conda MOOSE Environment give instructions that utilize Conda packages that supply an installation of libMesh and PETSc so that MOOSE users and developers do not need to compile these libraries themselves. However, with some small changes to these instructions, developers can build and use their own installations of these libraries.

Custom libMesh

To use a custom libMesh, the following Conda environment can be created (which we name custom-libmesh for example):


conda create -n custom-libmesh moose-petsc moose-build

or if you want to compile with VTK support,


conda create -n custom-libmesh moose-libmesh-vtk moose-petsc moose-build

If you need to do libMesh development, you'll additionally need to include the packages autoconf automake libtool cppunit in the conda environment.

Then activate the new environment and run the libMesh and WASP installation scripts:


conda activate custom-libmesh
cd ~/projects/moose
./scripts/update_and_rebuild_libmesh.sh
./scripts/update_and_rebuild_wasp.sh

If building your own VTK (beyond the scope of this document), omit the moose-libmesh-vtk package and supply the appropriate VTK installation path to the install script:


./scripts/update_and_rebuild_libmesh.sh --with-vtk-lib=/path/to/vtk/lib --with-vtk-include=/path/to/vtk/include

Custom PETSc

To use a custom PETSc (and libMesh), the following Conda environment can be created (which we name custom-petsc for example):


conda create -n custom-petsc moose-build

Then activate the new environment and run the PETSc, libMesh and WASP installation scripts:


conda activate custom-petsc
cd ~/projects/moose
./scripts/update_and_rebuild_petsc.sh
./scripts/update_and_rebuild_libmesh.sh
./scripts/update_and_rebuild_wasp.sh