Frequently Asked Questions

Building Enzo

Q: I’m getting a compilation error related to HDF5. What is HDF5 and how to I get it?

A: HDF5 is a data format with accompanying library for writing very large data sets. Enzo uses HFD5 for data output. If you do not have a version of HDF5 available on your machine, you can download binaries or source code for HDF5 from Once you have a version of HDF5 installed on your machine, you need to notify Enzo where it is located for the build process in the Makefile (eg. Make.mach.linux-gnu or For example, if HDF5 was installed in /home/enzo-user/local/hdf5/, you would edit the line

LOCAL_HDF5_INSTALL = /home/enzo-user/local/hdf5

then run

$ make machine-linux-gnu
$ make clean
$ make

to rebuild enzo.exe with your HDF5 installation. When running enzo.exe, make sure that the HDF5 library is in LD_LIBRARY_PATH. In this example, if you are running bash, run the command

$ export LD_LIBRARY_PATH=/home/enzo-user/local/hdf5/lib/:$LD_LIBRARY_PATH

to put the HDF5 library in the library path before running Enzo.

Running Simulations

Common Crashes


Q: What is the difference between enzo-dev (week-of-code) and the stable branch? Should I only use the stable branch?


The “week-of-code” branch of enzo-dev is the primary development branch, which is updated on a fairly regular basis (the name “week-of-code” is historical). Changes are migrated into the stable branch on a roughly annual basis. In general, if you want code that is somewhat more reliable but may be significantly behind the cutting-edge Enzo version, you should use the ‘stable’ branch. If you are comfortable with more recent (and thus possibly less reliable) code, you should use the “week-of-code” branch.