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⚓︎

  • AArch64/ARM64 (host cross-compilation bitness issues)
  • Gentoo
  • NixOS
  • Ubuntu 25.10+26.04 (uutils-coreutils clone)
  • 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:

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

  • Ubuntu/Debian version:

    $ lsb_release -d
    Description:    Ubuntu 14.04.6 LTS
    

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

    $ uname -m
    aarch64
    

Fedora⚓︎

  • Update the system:

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

  • Fedora 44 64-bit:

    sudo dnf -y install \
      ImageMagick 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 inkscape \
      javapackages-tools kmod libacl-devel libatomic.i686 libattr-devel libcap-devel libgcc libglade2-devel \
      libstdc++-devel libtool libuuid-devel libxml2-devel libzstd-devel make ncurses ncurses-devel \
      ncurses-term net-tools netcat 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 42/43 64-bit:

    sudo dnf -y install \
      ImageMagick 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 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 \
      net-tools netcat openssl openssl-devel openssl-devel-engine patch patchutils perl \
      perl-String-CRC32 pkgconfig pv python3 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:

    sudo dnf -y install \
      ImageMagick bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex gcc \
      gcc-c++ gettext git glib2-devel glibc-devel gnutls-devel 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 net-tools netcat \
      openssl openssl-devel openssl-devel-engine patch patchutils perl perl-String-CRC32 pkgconfig pv \
      python3 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:

    sudo dnf -y install \
      ImageMagick bc binutils bison bzip2 ccache cmake curl ecj elfutils-libelf-devel flex gcc \
      gcc-c++ gettext git glib2-devel glibc-devel gnutls-devel 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 net-tools netcat \
      openssl openssl-devel patch patchutils perl perl-String-CRC32 pkgconfig pv python3 \
      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:

    sudo dnf -y install \
      ImageMagick 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 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 net-tools netcat 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:

    sudo dnf -y install \
      ImageMagick 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 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 net-tools netcat 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:

    sudo dnf -y install \
      ImageMagick 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 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 net-tools netcat 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:

    sudo dnf -y install \
      ImageMagick autoconf automake bc binutils bison bzip2 ccache cmake ecj flex gcc gcc-c++ \
      gettext git glib2-devel glibc-devel.i686 gnutls-devel 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:

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

  • Fedora ~20 32-bit:

    sudo yum -y install \
      ImageMagick autoconf automake binutils bison bzip2 ecj flex gcc gcc-c++ gettext git \
      glib2-devel 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:

    sudo apt -y update
    sudo apt -y upgrade
    sudo apt -y dist-upgrade
    

  • Debian 13 64-bit:

    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 python3 rsync sharutils sqlite3 subversion sudo texinfo unar unzip uuid-dev \
      wget zlib1g-dev
    

  • Debian 12 64-bit:

    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 python3 rsync sharutils sqlite3 subversion sudo texinfo unar unzip uuid-dev \
      wget zlib1g-dev
    

  • Debian 11 64-bit:

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

    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

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

  • Update the system:

    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

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

  • Ubuntu 26 64-bit:

    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 net-tools netcat-openbsd patch \
      patchutils perl pkg-config pv python3 rsync sharutils sqlite3 subversion sudo texinfo unar unzip \
      uuid-dev wget zip zlib1g-dev
    

  • Ubuntu 23/24/25 64-bit:

    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 net-tools netcat-openbsd patch \
      patchutils perl pkg-config pv python3 rsync sharutils sqlite3 subversion sudo texinfo unar unzip \
      uuid-dev wget zip zlib1g-dev
    

  • Ubuntu 22 64-bit:

    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 net-tools netcat-openbsd patch \
      patchutils perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo unar unzip uuid-dev wget \
      zip zlib1g-dev
    

  • Ubuntu 20/21 64-bit:

    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 net-tools netcat patch \
      patchutils perl pkg-config pv rsync sharutils sqlite3 subversion sudo texinfo 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:

    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 net-tools netcat openssl patch patchutils perl \
      pkg-config pv rsync sqlite3 subversion sudo texinfo unar unzip uuid-dev wget zlib1g-dev
    

  • Ubuntu 15/16/17 64-bit:

    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 \
      unar unzip wget zlib1g-dev
    

  • Ubuntu 14 64-bit:

    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 unar unzip wget zlib1g-dev
    

    Additionally, install manually:
    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:
    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:

    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:

    sudo apt-get -y install libtool-bin
    

  • Ubuntu 13/14 32-bit:

    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 unzip zlib1g-dev
    

  • Ubuntu 10/11/12 32-bit:

    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 unzip xz-utils zlib1g-dev
    

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

    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 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.