Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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+

...