internet > icecat bowser 

IceCat Browser

IceCat is a Mozilla-free Firefox webrowser.

More information about Free Software Foundation's IceCat:

icecatbrowser.org
fsf.org: GNU Icecat
gnu.org: GNUzilla and IceCat
en.wikipedia.org: GNU IceCat

The FSF project around IceCat only provids a 64bit binary for download.

You can download my 32bit build here:

Building IceCat yourself

Building IceCat (115.13) for a 32bit (i686) architecture.

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

  1. Configuring apt to install mulible architecture packages. See Debian MultiarchHOWTO
  2. 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
  3. sudo
  4. ln -s /usr/include/asm-generic /usr/include/asm
    asm/errno.h: No such file or directory
  5. rustc & cargo
    https://www.rust-lang.org/learn/get-started
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  6. cargo install cbindgen
  7. rustup target add i686-unknown-linux-gnu
  8. 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

  1. work in a screen session
  2. mkdir | cd ~/build/src/ic/ic12813/ (WORKDIR)
  3. Download gnuzilla including makeicecat
    git clone https://git.savannah.gnu.org/git/gnuzilla.git
  4. Make FF source Icecat (will download current version of FF)
    cd gnuzilla
    ./makeicecat
  5. vi $SRCDIR/.mozconfig
    This file should be located in SRCDIR
    Object directory is the compille output. (OBJDIR)
  6. cd $SRCDIR
  7. ./mach bootstrap
    Option 1: Artifact
  8. ./mach configure
  9. ./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.
  10. ./mach package
    result in $OBJDIR/dist/

Clean-up after failure: ./mach clobber
This will delete all build fracments.

Troubleshooting
Links to read

#

 

GNU IceCat