Installing Required Packages⚓︎
You can install the required packages (prerequisites) in the following ways:
- Use
tools/prerequisitesto 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:
-
Ubuntu/Debian version:
-
Machine type:
i686for 32-bit x86 andx86_64for 64-bit x86:
Fedora⚓︎
-
Update the system:
-
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:
-
Fedora ~20 32-bit:
Debian⚓︎
-
Update the system:
-
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
-
Enable 32-bit (multiarch):
See debian.org: Multiarch HOWTO and heise.de: install packages for multiple CPU architectures on Linux
-
Update the system:
-
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 withpseudo-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
-
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:
-
Ubuntu 15 32-bit / Debian 8: in addition to Ubuntu 13/14 32-bit, install:
-
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.