Skip to content

Installing Required Packages

You can install the required packages (prerequisites) in the following ways:

  • Use tools/prerequisites to install packages automatically.
  • Copy and paste the commands from this page into your console (for example, right-click in PuTTY).

Tested distributions

Problematic distributions

  • Gentoo
  • NixOS
  • Ubuntu 25.10
  • WSL/WSL2

All other distributions

... are untested and may or may not work. Results strongly depend on your Linux/admin experience.

Detect your distribution

If you do not remember which Linux version is installed, check it as follows:

  • Linux distribution:

    Text Only
    $ hostnamectl status
      Operating System: Fedora 33 (Thirty Three)
        Kernel: Linux 5.10.15-200.fc33.x86_64
    

  • Ubuntu/Debian version:

    Text Only
    $ lsb_release -d
    Description:    Ubuntu 14.04.6 LTS
    

  • Machine type: i686 for 32-bit x86 and x86_64 for 64-bit x86:

    Text Only
    $ uname -m
    aarch64
    

Fedora

  • Update the system:

    Text Only
    sudo dnf -y update && sudo systemctl daemon-reload
    

  • Fedora 42/43 64-bit:

    Text Only
    sudo dnf -y install \
      bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex gcc gcc-c++ gettext \
      git glib2-devel glibc-devel glibc-devel.i686 gnutls-devel ImageMagick inkscape \
      javapackages-tools kmod libacl-devel libattr-devel libcap-devel libgcc libglade2-devel libstdc++-devel \
      libtool libuuid-devel libxml2-devel libzstd-devel make ncurses ncurses-devel ncurses-term \
      netcat net-tools openssl openssl-devel openssl-devel-engine patch patchutils perl \
      perl-String-CRC32 pkgconfig pv qt5-qtbase-devel readline-devel rpcgen rsync sharutils sqlite sqlite-devel \
      subversion texinfo unar util-linux wget which xz zlib-ng-devel
    

  • Fedora 41 64-bit:

    Text Only
    sudo dnf -y install \
      bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex gcc gcc-c++ gettext \
      git glib2-devel glibc-devel gnutls-devel ImageMagick inkscape javapackages-tools kmod \
      libacl-devel libattr-devel libcap-devel libgcc libglade2-devel libstdc++-devel libtool \
      libuuid-devel libxml2-devel libzstd-devel make ncurses ncurses-devel ncurses-term netcat net-tools \
      openssl openssl-devel openssl-devel-engine patch patchutils perl perl-String-CRC32 pkgconfig pv \
      qt5-qtbase-devel readline-devel rpcgen rsync sharutils sqlite sqlite-devel subversion texinfo unar \
      util-linux wget which xz zlib-ng-devel
    

  • Fedora 40 64-bit:

    Text Only
    sudo dnf -y install \
      bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex gcc gcc-c++ gettext \
      git glib2-devel glibc-devel gnutls-devel ImageMagick inkscape javapackages-tools kmod \
      libacl-devel libattr-devel libcap-devel libgcc libglade2-devel libstdc++-devel libtool \
      libuuid-devel libxml2-devel libzstd-devel make ncurses ncurses-devel ncurses-term netcat net-tools \
      openssl openssl-devel patch patchutils perl perl-String-CRC32 pkgconfig pv qt5-qtbase-devel \
      readline-devel rpcgen rsync sharutils sqlite sqlite-devel subversion texinfo unar util-linux wget xz \
      zlib-ng-devel
    

  • Fedora 37/38/39 64-bit:

    Text Only
    sudo dnf -y install \
      bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex ftp gcc gcc-c++ \
      gettext git glib2-devel glibc-devel.i686 gnutls-devel ImageMagick inkscape javapackages-tools \
      kmod libacl-devel libattr-devel libcap-devel libgcc.i686 libglade2-devel \
      libstdc++-devel.i686 libstdc++-devel.x86_64 libtool libuuid-devel libxml2-devel libzstd-devel.x86_64 make \
      ncftp ncurses-devel ncurses-devel.i686 ncurses-term netcat net-tools openssl openssl-devel \
      patch patchutils perl perl-String-CRC32 pkgconfig pv qt5-qtbase-devel readline-devel rpcgen \
      rsync sharutils sqlite-devel sqlite.i686 subversion texinfo unar util-linux wget xz zlib-devel \
      zlib-devel.i686
    

  • Fedora 36 64-bit:

    Text Only
    sudo dnf -y install \
      autoconf automake bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex \
      gcc gcc-c++ gettext git glib2-devel glibc-devel.i686 gnutls-devel ImageMagick inkscape \
      javapackages-tools kmod libacl-devel libattr-devel libcap-devel libgcc.i686 libglade2-devel \
      libstdc++-devel.i686 libstdc++-devel.x86_64 libtool libuuid-devel libxml2-devel libzstd-devel.x86_64 make \
      ncftp ncurses-devel ncurses-devel.i686 ncurses-term netcat net-tools openssl openssl-devel \
      patch patchutils perl perl-String-CRC32 pkgconfig pv qt5-qtbase-devel readline-devel rpcgen \
      rsync sharutils sqlite-devel sqlite.i686 subversion texinfo unar util-linux wget xz zlib-devel \
      zlib-devel.i686
    

  • Fedora 35 64-bit:

    Text Only
    sudo dnf -y install \
      autoconf automake bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex \
      gcc gcc-c++ gettext git glib2-devel glibc-devel.i686 gnutls-devel ImageMagick inkscape \
      javapackages-tools kmod libacl-devel libattr-devel libcap-devel libgcc.i686 libglade2-devel \
      libstdc++-devel.i686 libstdc++-devel.x86_64 libtool libuuid-devel libxml2-devel libzstd-devel.x86_64 make \
      ncftp ncurses-devel ncurses-devel.i686 ncurses-term netcat net-tools openssl openssl-devel \
      patch patchutils perl perl-String-CRC32 pkgconfig pv qt5-qtbase-devel readline-devel rpcgen \
      rsync sharutils sqlite-devel sqlite.i686 subversion texinfo unar util-linux wget xz zlib-devel \
      zlib-devel.i686
    

  • Fedora 33/34 64-bit:

    Text Only
    sudo dnf -y install \
      autoconf automake bc binutils bison bzip2 ccache cmake ecj flex gcc gcc-c++ gettext git \
      glib2-devel glibc-devel.i686 gnutls-devel ImageMagick inkscape kmod libacl-devel libattr-devel \
      libcap-devel libgcc.i686 libglade2-devel libstdc++-devel.i686 libtool libuuid-devel libxml2-devel \
      libzstd-devel.i686 make ncurses-devel ncurses-devel.i686 ncurses-term openssl openssl-devel patch perl \
      perl-String-CRC32 pkgconfig pv qt5-qtbase-devel readline-devel rsync sqlite-devel sqlite.i686 subversion \
      texinfo unar util-linux wget xz zlib-devel zlib-devel.i686
    

  • If the following system runs 64-bit Linux, install additionally:

    Text Only
    sudo yum -y install ncurses-devel.i686 glibc-devel.i686 libgcc.i686
    

  • Fedora ~20 32-bit:

    Text Only
    sudo yum -y install \
      autoconf automake binutils bison bzip2 ecj flex gcc gcc-c++ gettext git glib2-devel \
      ImageMagick libacl-devel libattr-devel libcap-devel libtool make ncurses-devel patch perl \
      perl-String-CRC32 pkgconfig subversion texinfo wget zlib-devel
    

Debian

  • Update the system:

    Text Only
    sudo apt -y update
    sudo apt -y upgrade
    sudo apt -y dist-upgrade
    

  • Debian 13 64-bit:

    Text Only
    sudo apt -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make netcat-traditional patch patchutils \
      perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip uuid-dev \
      wget zlib1g-dev
    

  • Debian 12 64-bit:

    Text Only
    sudo apt -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses5-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make netcat-traditional patch patchutils \
      perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip uuid-dev \
      wget zlib1g-dev
    

  • Debian 11 64-bit:

    Text Only
    sudo apt -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses5-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make netcat patch patchutils perl \
      pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip uuid-dev wget \
      zlib1g-dev
    

Devuan

Devuan has already been used successfully for builds. Install the same packages suggested for Debian.

LMDE

LMDE (Linux Mint Debian Edition) has already been used successfully for builds. Install the same packages suggested for Debian.

Ubuntu

  • German keyboard layout:

    See ubuntu.com: LocaleConf

    Text Only
    sudo apt-get -y install console-data && sudo locale-gen de_DE && sudo dpkg-reconfigure console-data && exit
    

  • Enable 32-bit (multiarch):

    See debian.org: Multiarch HOWTO and heise.de: install packages for multiple CPU architectures on Linux

    Text Only
    # dpkg --print-foreign-architectures
    sudo dpkg --add-architecture i386
    sudo apt-get -y update
    

  • Update the system:

    Text Only
    sudo apt-get -y update
    sudo apt-get -y upgrade
    sudo apt-get -y dist-upgrade
    

  • uutils-coreutils issue starting with Ubuntu 25.10:

    Canonical replaced GNU coreutils (GPL) with uutils coreutils (MIT/Rust/Code of Conduct), which causes several issues, including problems with pseudo-host.
    See Carefully But Purposefully Oxidising Ubuntu and
    Ubuntu 25.10's move to Rust coreutils causes major issues for some executables.

    Typical error: couldn't allocate absolute path for 'null'.

    In general, uutils-coreutils is currently not recommended for Freetz builds due to immaturity and known issues in multiple tools (date, cp, mv, base64, du, sort, tail, ls, md5sum, dd, sudo, ...).

    Workaround: remove uutils-coreutils and install GNU coreutils with

    Text Only
    sudo apt-get remove --allow-remove-essential coreutils-from-uutils
    

  • Ubuntu 26 64-bit:

    Text Only
    sudo apt-get -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make ncftp netcat-openbsd net-tools patch \
      patchutils perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip \
      uuid-dev wget zip zlib1g-dev
    

  • Ubuntu 23/24/25 64-bit:

    Text Only
    sudo apt-get -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make ncftp netcat-openbsd net-tools patch \
      patchutils perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip \
      uuid-dev wget zip zlib1g-dev
    

  • Ubuntu 22 64-bit:

    Text Only
    sudo apt-get -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses5-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make ncftp netcat-openbsd net-tools patch \
      patchutils perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip \
      uuid-dev wget zip zlib1g-dev
    

  • Ubuntu 20/21 64-bit:

    Text Only
    sudo apt-get -y install \
      autopoint bc binutils bison bsdmainutils bzip2 ccache cmake curl ecj flex ftp g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool java-wrappers kmod \
      lib32ncurses5-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libelf-dev \
      libglib2.0-dev libgnutls28-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev \
      libstring-crc32-perl libtool-bin libusb-dev libxml2-dev libzstd-dev make ncftp netcat net-tools patch \
      patchutils perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo tofrodos unar unzip \
      uuid-dev wget zip zlib1g-dev
    # sqlite 32-bit may fail with apt, but works with apt-get. See also:
    # https://developpaper.com/ubuntu-solves-the-problem-of-libsqlite3-0-dependency-recommended/
    sudo apt -y install libzstd-dev:i386 sqlite3:i386
    

  • Ubuntu 18/19 64-bit:

    Text Only
    sudo apt-get -y install \
      autopoint bc binutils bison bsdmainutils build-essential bzip2 ccache cmake curl ecj flex \
      g++ gawk gcc gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool kmod \
      lib32ncurses5-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 libcap-dev libglib2.0-dev \
      libgnutls28-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev libstring-crc32-perl \
      libtool-bin libusb-dev libzstd-dev make ncftp netcat net-tools openssl patch patchutils perl \
      pkg-config pv rsync sqlite3 subversion sudo texinfo tofrodos unar unzip uuid-dev wget zlib1g-dev
    

  • Ubuntu 15/16/17 64-bit:

    Text Only
    sudo apt-get -y install \
      autoconf automake autopoint bc binutils bison bsdmainutils bzip2 ecj flex g++ gawk gcc \
      gcc-multilib gettext git graphicsmagick imagemagick inkscape intltool kmod lib32ncurses5-dev \
      lib32stdc++6 libacl1-dev libc6-dev-i386 libcap-dev libglib2.0-dev libncurses5-dev libreadline-dev \
      libstring-crc32-perl libtool-bin libusb-dev make patch perl pkg-config pv realpath rsync subversion sudo texinfo \
      tofrodos unar unzip wget zlib1g-dev
    

  • Ubuntu 14 64-bit:

    Text Only
    sudo apt-get -y install \
      autoconf automake automake1.9 autopoint bc binutils bison bsdmainutils build-essential \
      bzip2 ccache cmake curl ecj flex g++ gawk gcc gcc-multilib gettext git graphicsmagick imagemagick \
      inkscape intltool kmod lib32ncurses5-dev lib32stdc++6 lib32z1-dev libacl1-dev libc6-dev-i386 \
      libcap-dev libglib2.0-dev libncurses5-dev libreadline-dev libsqlite3-dev libstring-crc32-perl \
      libtool libusb-dev make netcat openssl patch perl pkg-config pv realpath rsync sqlite3 subversion \
      sudo texinfo tofrodos unar unzip wget zlib1g-dev
    

    Additionally, install manually:
    Text Only
    cmake min v3.4.3  https://ftp.osuosl.org/pub/blfs/conglomeration/cmake/cmake-3.4.3.tar.gz
    cpio min v2.12    https://ftp.gnu.org/gnu/cpio/cpio-2.12.tar.bz2
    make min v3.82    https://ftp.gnu.org/gnu/make/make-3.82.tar.bz2
    libzstd min v0    https://github.com/facebook/zstd/releases/download/v1.4.9/zstd-1.4.9.tar.gz
    

    Also, if you want to build ccache:
    Text Only
    cmake min v3.10   https://ftp.osuosl.org/pub/blfs/conglomeration/cmake/cmake-3.10.3.tar.gz
    gmp min v4.2      https://ftp.gnu.org/gnu/gmp/gmp-4.2.4.tar.bz2
    mpfr min v2.4     https://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.xz
    mpc min v0.8      https://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
    gcc min v6        https://ftp.gnu.org/gnu/gcc/gcc-6.5.0/gcc-6.5.0.tar.xz
    # export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib64:/usr/local/lib32"
    

  • If the following systems run 64-bit Linux, install additionally:

    Text Only
    sudo apt-get -y install libc6-dev-i386 lib32ncurses5-dev gcc-multilib lib32stdc++6
    

  • Ubuntu 15 32-bit / Debian 8: in addition to Ubuntu 13/14 32-bit, install:

    Text Only
    sudo apt-get -y install libtool-bin
    

  • Ubuntu 13/14 32-bit:

    Text Only
    sudo apt-get -y install \
      autoconf automake automake1.9 binutils bison bzip2 ecj fastjar flex g++ gawk gcc gettext \
      graphicsmagick intltool libacl1-dev libcap-dev libncurses5-dev libreadline-dev libstring-crc32-perl \
      libtool libusb-dev make patch perl pkg-config python realpath subversion texinfo tofrodos unzip \
      zlib1g-dev
    

  • Ubuntu 10/11/12 32-bit:

    Text Only
    sudo apt-get -y install \
      autoconf automake binutils bison bzip2 ecj fastjar flex g++ gawk gcc gettext git-core \
      imagemagick intltool libacl1-dev libattr1-dev libcap-dev libglib2.0-dev libncurses5-dev \
      libreadline-dev libstring-crc32-perl libtool libusb-dev make patch perl pkg-config python realpath \
      subversion texinfo tofrodos unzip xz-utils zlib1g-dev
    

  • Ubuntu 9.04 32-bit (no automake 1.8, use "ecj" instead of "ecj-bootstrap"):

    Text Only
    sudo apt-get -y install \
      autoconf automake automake1.9 binutils bison bzip2 ecj fastjar flex g++ gawk gcc gettext \
      git-core imagemagick intltool jikes libacl1-dev libattr1-dev libcap-dev libglib2.0-dev \
      libncurses5-dev libreadline-dev libstring-crc32-perl libtool libusb-dev make patch perl pkg-config \
      python realpath subversion texinfo tofrodos unzip xz-utils zlib1g-dev
    

Mint

Mint has already been used successfully for builds. Install the same packages suggested for Ubuntu.

Kali

Kali rolling has already been used successfully for builds. Install the same packages suggested for Ubuntu.
Most requirements are usually already installed on Kali.

Arch

On Arch, the freetz-ng-toolsAUR meta-package has been used successfully for builds.