...
Either a working Docker install able to run GNU/Linux binaries (e.g. Docker on Linux, macOS, Windows), so you can reuse our pre-populated Docker image with all necessary development dependencies; or
If using Bazel to build Cockroach (preferred for
master
and v22.1 onward), the following dependencies are required:A C++ compiler that supports C++11. Note that GCC prior to 6.0 doesn't work due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48891
The standard C/C++ development headers on your system.
On GNU/Linux, the terminfo development libraries, which may be part of a ncurses development package (e.g. `libncurses-dev` on Debian/Ubuntu, but `ncurses-devel` on CentOS). You also need the
libresolv-wrapper
package on Ubuntu < 22.04.Git 1.9+, we recommend v2.20+
Bash (4+ is preferred)
GNU Make (4.2+ is known to work)
CMake 3.20.* (on Macs 3.21+ are also known to work)
Autoconf 2.68+
Yacc or Bison
GNU Patch 2.7+
Bazelisk (you can use Bazel directly instead of Bazelisk, although Bazelisk makes sure you’re using the same version that we use in CI)
If you're running macOS, a full installation of XCode is necessary.
If using
make
to build Cockroach (preferred for v21.2 and prior, deprecated from 22.1 onward), all the dependencies above are required plus:A Go environment with a recent 64-bit version of the toolchain. Note that the Makefile enforces the specific version required, as it is updated frequently.
NodeJS 12.x and Yarn 1.7+
...