Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Revision 48

Revision 47 (Paul Kocialkowski, 12/30/2015 11:16 AM) → Revision 48/73 (Paul Kocialkowski, 12/30/2015 11:18 AM)

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

h2. Debian-based systems

h3. Trisquel 7.0

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

h3. Debian 8

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

h3. Tweaks

* If the packages manager complains about @lib32readline5-dev@ being missing, replace it with @lib32readline-gplv2-dev@ in the command line.
* If the @/usr/lib/zconf.h@ header is missing, you will have to create a symlink there:
<pre>
ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/lib/zconf.h
</pre>
* If you see errors about incompatible library versions, you may need some symlinks. For example:
<pre>
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
</pre>

h2. Arch Linux-based systems

h3. Parabola

Base packages (from the Parabola repositories) installation:
<pre>
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
</pre>

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@:
<pre>
[libre-multilib]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist
</pre>

For these changes to take effect, the packages database should be updated:
<pre>
pacman -Syu
</pre>

Additional packages installation:
<pre>
pacman -S multilib/lib32-glibc multilib/gcc-multilib multilib/lib32-readline multilib/lib32-ncurses multilib/lib32-zlib
</pre>

h3. Tweaks

* If repo may complain complains about experimental python 3 support: support, set python 2 has to be set as default instead: default:
<pre>
ln -s /usr/bin/python2 /usr/local/bin/python
</pre>