Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Revision 39

Revision 38 (Paul Kocialkowski, 08/03/2014 08:39 PM) → Revision 39/73 (Paul Kocialkowski, 08/03/2014 09:35 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 libxml2-utils
</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-gplv2-dev@ 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

h4. For 32 bit 32bit and 64 bit installations

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

Then install the required Packages:
<pre>
pacman -S core/bison core/flex core/make core/ncurses core/xz core/zlib extra/bc extra/git extra/gperf extra/gperftools extra/jdk7-openjdk extra/openjdk7-src extra/jre7-openjdk extra/wget extra/zip community/squashfs-tools libre/pngcrush libre/unzip-libre
</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 64 bit installations 64bit installations.

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

Add the following repository in /etc/pacman.conf:
<pre>
[libre-multilib]
Include = /etc/pacman.d/mirrorlist

[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>