Build dependencies installation

Replicant can only be built on 64 bit x86 architectures, building on 32 bit x86 systems is no longer supported.
However, some prebuilt tools are still 32 bit x86 executables and some host tools are generated as 32 bit x86 executables.

Debian-based systems

Trisquel 7.0

Packages installation:

apt-get install git gnupg flex bison gperf build-essential zip curl openjdk-7-jre openjdk-7-jdk libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

Debian 8

Packages installation:

apt-get install  bison flex git-core gperf libncurses-dev build-essential curl squashfs-tools openjdk-7-jre openjdk-7-jdk pngcrush wget zip zlib1g-dev lzma libxml2-utils libc6-dev-i386 g++-multilib lib32z1-dev lib32readline-gplv2-dev lib32ncurses5-dev zlib1g-dev:i386 curl

Tweaks

  • If the packages manager complains about lib32readline5-dev being missing, it has to be replaced with lib32readline-gplv2-dev in the command line.
  • If the /usr/lib/zconf.h header is missing, a symlink has to be created:
    ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/lib/zconf.h
    
  • If errors messages about incompatible library versions are shown, some symlinks have to be created. For instance:
    sudo ln -s /usr/lib32/libstdc++.so.6.0.14 /usr/lib32/libstdc++.so
    sudo ln -s /usr/lib32/libz.so.1.2.3.4 /usr/lib32/libz.so
    

Arch Linux-based systems

Parabola

Base packages (from the Parabola repositories) installation:

pacman -S core/bison core/flex core/make core/ncurses core/xz core/zlib extra/bc extra/git extra/gperf extra/gperftools libre/jdk7-openjdk extra/openjdk7-src libre/jre7-openjdk extra/wget extra/zip community/squashfs-tools community/pngcrush libre/unzip

Some additional repositories are required to retrieve some of the build dependencies.

To enable those repositories, the following should be added to /etc/pacman.conf:

[libre-multilib]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

For these changes to take effect, the packages database should be updated:

pacman -Syu

Additional packages installation:

pacman -S multilib/lib32-glibc multilib/gcc-multilib multilib/lib32-readline multilib/lib32-ncurses multilib/lib32-zlib

Tweaks

  • repo may complain about experimental python 3 support: python 2 has to be set as default instead:
    ln -s /usr/bin/python2 /usr/local/bin/python
    

Wiki License: Creative Commons BY-SA