# Building Bison

## Build libMesh


~/projects/moose/scripts
update_and_rebuild_libmesh.sh


This script is also the method used to update libMesh when updates are available. Notices about updates are sent to the moose-users and moose-announce mailing lists.

## Build Bison

After libMesh has successfully built, build MOOSE and Bison in the same terminal


~/projects/bison
make -j<procs>  ## where <procs> is the number of processors that you would like to use

warning

Do not use more than 6 processors when building on the HPC. The login nodes have shared resources for all users and you will attract unwanted attention by using them all.

After the build is completed run all of the Bison regression tests to make sure you have a clean build.


./run_tests -j<procs> ## where <procs> is the number of processors that you would like to use


## Updating Bison (In the bison directory)

We recommend the following steps for updating Bison and the submodules


git fetch upstream devel  ## pulls the updates from the devel branch of idaholab/bison
git rebase upstream/devel ## applies the updates from upstream/devel to your current local branch
git submodule update ## applies the updates to any submodules, e.g. MOOSE
make cleanall ## deletes files with dependencies to avoid build errors
make -j<procs> ## where <procs> is the number of processors that you would like to use
./run_tests -j <procs> ## where <procs> is the number of processors that you would like to use


Now you are ready to use and develop Bison. See the instructions and tips on Running Bison.