Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Revision 29

Revision 28 (Denis 'GNUtoo' Carikli, 05/31/2014 01:56 PM) → Revision 29/73 (Denis 'GNUtoo' Carikli, 05/31/2014 01:57 PM)

h1. Build Dependencies Installation

In order to be able to build Replicant, you need to install some (free) software:

h2. Required Packages

* python 2.x
* bison
* flex
* git
* gperf
* libncurses development headers
* make
* gcc, g++
* mksquashfs
* openjdk 6
* pngcrush
* wget
* zip
* zlib development headers
* lzma

h3. Additional requirements for 64 bit computers

* 32 bit libncurses
* 32 bit libreadline
* 32 bit libc6 headers
* 32 bit zlib
* gcc, g++ multilib support

h2. Command line installation

h3. Trisquel/Debian/Ubuntu

Required Packages:
<pre>
apt-get install bison flex git-core gperf libncurses-dev build-essential squashfs-tools openjdk-6-jre openjdk-6-jdk pngcrush wget zip zlib1g-dev lzma
</pre>

Additional requirements for 64 bit computers:
<pre>
apt-get install libc6-dev-i386 gcc-multilib g++-multilib lib32z1-dev lib32readline5-dev lib32ncurses5-dev
</pre>

On Debian sid, multi-arch i386 has to be enabled and the following is also required:
<pre>
apt-get install zlib1g-dev:i386
</pre>

* If the packages manager complains about @lib32readline5-dev@ being missing, replace it with @lib32readline-gplv2dev@ in the command line.
* If the @/usr/lib/zconf.h@ header is missing, you will have to create a symlink there:
<pre>
sudo 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>

h3. Parabola/Arch

Enable the pcr repository(for openjdk6-old) by adding the following to /etc/pacman.conf:
<pre>
[pcr]
Include = /etc/pacman.d/mirrorlist
</pre>

Then update all packages::
<pre>
pacman -Syu
</pre>

Then install the required Packages:
<pre>
pacman -S core/bison core/flex extra/gperftools core/ncurses community/squashfs-tools pcr/openjdk6-old extra/wget extra/zip core/zlib core/xz libre/pngcrush extra/gperf extra/bc extra/git
</pre>

Also set python2 as the default for now.
(Else repo will issue such warning: "warning: Python 3 support is currently experimental. YMMV.")
<pre>
cd /usr/local/bin/
ln -s /usr/bin/python2 ./python
</pre>

h4. Extra packages for 64bit installations.

64bit installations require more packages because some uttilities(like adb) are built for 32bit computers.

Add the following repository in /etc/pacman.conf:
<pre>
[multilib]
Include = /etc/pacman.d/mirrorlist
</pre>
Then install the missing dependencies for 64bit:
<pre>
pacman -S multilib/lib32-glibc multilib/gcc-multilib multilib/lib32-readline multilib/lib32-ncurses multilib/lib32-zlib
</pre>