--- layout: docs page_title: Documentation description: Building Boundary --- # Building Boundary Building Boundary from source requires: - [Go](https://golang.org/dl/) 1.14 or greater. (Note that HashiCorp currently develops against Go 1.15.) - `make` installed - [Docker](https://docs.docker.com/get-docker/) installed - Basic development environment (git, xcode if you're on Mac, etc) 1. `$ git clone https://github.com/hashicorp/boundary` or if you're using SSH auth for github, `$ git clone git@github.com:hashicorp/boundary` 2. `$ cd boundary` 3. `$ make dev` The first time you run `make dev` it will build UI assets, which will take a long time. After the initial build, you can update those assets to the currently-pinned version via `make build-ui`. Once you've built Boundary, the binary will be available at `/bin/boundary`. Move this binary to somewhere in your `$PATH` such as `/usr/local/bin`. ## Cross Platform Build If you need to cross compile boundary for another OS or architecture, use the [XC_OSARCH](https://github.com/hashicorp/boundary/blob/master/scripts/build.sh#L26) environment variable to set this. Example: `$ XC_OSARCH=linux/amd64 make dev` For more details, please consult the [Boundary project on GitHub](https://github.com/hashicorp/boundary#build-and-start-boundary-in-dev-mode). ## Troubleshooting UI assets are built inside a Docker container. If this build step fails, try increasing memory and swap available to Docker.