Skip to main content
Before building the Internet Computer Protocol from source, ensure your system meets the following requirements.

Hardware Requirements

Minimum Specifications

Building the IC protocol requires substantial system resources for compilation and testing.

CPU

  • Architecture: x86-64 based system
  • Intel or AMD 64-bit processor

Memory

  • Minimum: 16 GB RAM/SWAP
  • More memory will improve build performance

Disk Space

  • Minimum: 100 GB available disk space
  • Additional space recommended for caching and artifacts
  • Build artifacts are stored in the artifacts/ directory
The repro-check verification script requires approximately 100 GB of free disk space in $HOME or the specified cache directory.

Operating System

Supported Platforms

Ubuntu 22.04 or newer

Primary supported platform for building IC

x86-64 Architecture

Required for all builds
While other Linux distributions may work, Ubuntu 22.04+ is the officially supported and tested platform.

Software Dependencies

Required Software

The following tools must be installed on your system:

Podman

Podman is required for containerized builds.
sudo apt-get update
sudo apt-get install -y podman

Git

Git is required for cloning the repository and version control.
sudo apt-get install -y git

Python 3

Python 3.x is required for running verification scripts.
sudo apt-get install -y python3

curl

Required for downloading artifacts and verification.
sudo apt-get install -y curl

Build Tools

Bazel

The IC protocol uses Bazel 8.6.0 as its build system.
The exact Bazel version is specified in the .bazelversion file in the repository root.
For Bazel installation instructions, see the official Bazel documentation.

Verification Requirements

For verifying release reproducibility:
1

Operating System

Ubuntu 22.04 or higher
2

Disk Space

About 100 GB of free disk space in $HOME (or specified cache directory)
3

Dependencies

  • Python 3.x
  • curl
  • git
  • podman

Containerized Build Environment

If you don’t want to install all dependencies directly on your system, you can use the containerized build environment:
./ci/container/container-run.sh
This script automatically sets up a container with all required dependencies pre-configured.
Using the containerized environment is recommended for consistent builds and to avoid dependency conflicts.

Environment Configuration

For building IC-OS images locally, additional environment configuration is required. The required packages are defined in:
ic/ci/container/Dockerfile

Next Steps

Building the IC

Learn how to build the Internet Computer Protocol

Verifying Releases

Verify build reproducibility of IC-OS images

Build docs developers (and LLMs) love