# 5 Compiling on Unix

Now, you need to decide where you are going to build the system. Let us assume that the Mozart sources are in `~/mozart`. We recommend that you then create a separate build directory; for example, on a Linux system you might call it `~/mozart-linux`. Then, from that directory you should invoke the `configure` file from the Mozart source distribution.

> `% mkdir ~/mozart-linux
> % cd ~/mozart-linux
> % ~/mozart/configure`

The configure script takes a long time to run and prints out a lot of information. If you are lucky, the script completes successfully and you can proceed directly with compilation:

> `% make`

Often, however, the configure script will fail and print out a message explaining what went wrong and possibly how to fix it. Most frequently the problem is either that (1) a library, tool, or include file cannot be found, (2) or the installed version is too old. There are many shell variables and command line options that can be used to parametrize the configuration process. See Chapter 7 for their description.