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