IceCat Browser
Last updated 2. March 2026
Here you can download the latest version (140.8 i686) of the IceCat Bowser.
Also you can learn how to build IceCat youself.
IceCat is a Mozilla-free Firefox Web Browser.
More information about Free Software Foundation's IceCat:
gnu.org: GNUzilla and IceCat
fsf.org: GNU Icecat
en.wikipedia.org: GNU IceCat
icecatbrowser.org
The GNU project around IceCat currently does not provid binaries for download.
You can download my 32bit build here:
Building IceCat yourself
Building IceCat for a 32bit (i686) architecture.
Information how to build IceCat can also found at icecatbrowser.org
Build System Preparation
Setting up the build system is the hardest and most essential part.
IceCat is a Mozilla-free Firefox ESR. To build it the rust compiler is used. rustc is extremly resource demanding. The build system has to be a 64bit (x86_64) architecture. On i386 the build will fail due to memory constrains.
So you need to set up a cross-architecture system. This means your system has 64 and 32bit libraries installed.
You can check your architecturre with
# arch
# ld --version
I have used Debian 12 and 13 as build systems.
For suppored distributions and versions see Supported Build Hosts.
I used a Qemu/KVM VM on amd64 with Debian Bookworm (stable). Trixie (testing) was to new.
The VM I configured with (all) 4 cores and almost the entire memory (14GB) plus 15GBB swap space (can be less).
- Configuring apt to install mulible architecture packages. See Debian MultiarchHOWTO
- apt install libasound2-dev:i386 python3-pip ccache clang nodejs nasm libdbus-glib-1-dev
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
- sudo
- ln -s /usr/include/asm-generic /usr/include/asm
asm/errno.h: No such file or directory
- rustc & cargo
https://www.rust-lang.org/learn/get-started curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- cargo install cbindgen
- rustup target add i686-unknown-linux-gnu
- sccache
Install Sccache on Ubuntu 24.04
Building Icecat
- mkdir | cd ~/build/src/ic/ic12813/ (WORKDIR)
- running the "git clone" command will create gnuzilla
- .mozconfig goes in gnuzilla/output/icecat-128.13.0/ (SRCDIR)
- in .mozconfig:
mk_add_options MOZ_OBJDIR=$OBJDIR
- the tar-ball will be created in
$OBJDIR/dist/icecat-128.13.0.en-US.linux-i686.tar.bz2
Steps
- Work in a screen session if you are remotly connected
- mkdir | cd ~/build/src/ic/ic12813/ (WORKDIR)
- Download gnuzilla including makeicecat
git clone https://git.savannah.gnu.org/git/gnuzilla.git
- cd gnuzilla
- Consider commenting the tarball creation (inalize_sourceball function at the end of the script) to save time
vi makeicecat
- Make FF source Icecat (will download current version of FF ESR)
./makeicecat
- vi $SRCDIR/.mozconfig
This file should be located in SRCDIR Object directory is the compille output. (OBJDIR)
- cd $SRCDIR
- ./mach bootstrap
Option 1: Artifact
- ./mach configure
- ./mach build 2>&1 | tee ./mach_build.log
This takes saveral hours and consumes extrem resources (CPU, RAM, swap).
I could speed-up the build by working on a PCIe SSD instead on a SATA HD.
- ./mach package
result in $OBJDIR/dist/
Clean-up after failure: ./mach clobber This will delete all build fracments.
Troubleshooting
Links to read
#
|