Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Version 54

Wolfgang Wiedmeyer, 03/08/2017 01:59 AM
add Replicant 6.0 and keep Replicant 4.2

1 43 Paul Kocialkowski
h1. Build dependencies installation
2 6 Paul Kocialkowski
3 40 Paul Kocialkowski
*Replicant can only be built on 64 bit x86 architectures, building on 32 bit x86 systems is no longer supported.*
4
However, some prebuilt tools are still 32 bit x86 executables and some host tools are generated as 32 bit x86 executables.
5 19 Paul Kocialkowski
6 54 Wolfgang Wiedmeyer
h2. Replicant 6.0
7 19 Paul Kocialkowski
8 54 Wolfgang Wiedmeyer
h3. Debian-based systems
9 1 Paul Kocialkowski
10 54 Wolfgang Wiedmeyer
*Debian 9*
11
12 49 Paul Kocialkowski
Packages installation:
13 1 Paul Kocialkowski
14
<pre>
15 54 Wolfgang Wiedmeyer
dpkg --add-architecture i386 ; apt-get update
16
apt-get build-dep gcc binutils llvm-defaults
17
apt-get install gcc-arm-none-eabi cmake python-dev swig ant bc proguard maven-debian-helper libemma-java libasm4-java libguava-java libnb-platform18-java libnb-org-openide-util-java libandroidsdk-ddmlib-java libmaven-source-plugin-java libfreemarker-java libmaven-javadoc-plugin-java repo ca-cacert curl gawk libgmp3-dev libmpfr-dev libmpc-dev git-core gperf libncurses-dev squashfs-tools pngcrush zip zlib1g-dev lzma libc6-dev-i386 g++-multilib lib32z1-dev lib32readline-dev lib32ncurses5-dev zlib1g-dev:i386 xsltproc python-mako schedtool gradle dirmngr libandroidsdk-sdklib-java eclipse-jdt libgradle-android-plugin-java android-sdk-build-tools android-sdk-platform-23 aapt lzop
18
</pre>
19
20
h2. Replicant 4.2
21
22
h3. Debian-based systems
23
24
*Trisquel 7.0*
25
26
Packages installation:
27
28
<pre>
29 1 Paul Kocialkowski
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
30
</pre>
31 40 Paul Kocialkowski
32 54 Wolfgang Wiedmeyer
*Debian 8*
33 49 Paul Kocialkowski
34 1 Paul Kocialkowski
Packages installation:
35 52 Wolfgang Wiedmeyer
36 40 Paul Kocialkowski
<pre>
37 1 Paul Kocialkowski
dpkg --add-architecture i386 ; apt-get update
38 40 Paul Kocialkowski
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 xsltproc
39 1 Paul Kocialkowski
</pre>
40
41 54 Wolfgang Wiedmeyer
*Tweaks*
42 49 Paul Kocialkowski
43 1 Paul Kocialkowski
* If the packages manager complains about @lib32readline5-dev@ being missing, it has to be replaced with @lib32readline-gplv2-dev@ in the command line.
44 40 Paul Kocialkowski
* If the @/usr/lib/zconf.h@ header is missing, a symlink has to be created:
45 21 Paul Kocialkowski
<pre>
46 49 Paul Kocialkowski
ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/lib/zconf.h
47 19 Paul Kocialkowski
</pre>
48
* If errors messages about incompatible library versions are shown, some symlinks have to be created. For instance:
49 1 Paul Kocialkowski
<pre>
50
sudo ln -s /usr/lib32/libstdc++.so.6.0.14 /usr/lib32/libstdc++.so
51 26 Denis 'GNUtoo' Carikli
sudo ln -s /usr/lib32/libz.so.1.2.3.4 /usr/lib32/libz.so
52 1 Paul Kocialkowski
</pre>
53
54 54 Wolfgang Wiedmeyer
h3. Arch Linux-based systems
55 26 Denis 'GNUtoo' Carikli
56 54 Wolfgang Wiedmeyer
*Parabola*
57 26 Denis 'GNUtoo' Carikli
58 47 Paul Kocialkowski
Base packages (from the Parabola repositories) installation:
59 7 Denis 'GNUtoo' Carikli
<pre>
60 53 Denis 'GNUtoo' Carikli
pacman -S --needed 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
61 1 Paul Kocialkowski
</pre>
62 47 Paul Kocialkowski
63
Some additional repositories are required to retrieve some of the build dependencies.
64
65 28 Denis 'GNUtoo' Carikli
To enable those repositories, the following should be added to @/etc/pacman.conf@:
66
<pre>
67
[libre-multilib]
68 39 Paul Kocialkowski
Include = /etc/pacman.d/mirrorlist
69 29 Denis 'GNUtoo' Carikli
70 1 Paul Kocialkowski
[multilib]
71 39 Paul Kocialkowski
Include = /etc/pacman.d/mirrorlist
72 26 Denis 'GNUtoo' Carikli
</pre>
73 47 Paul Kocialkowski
74 1 Paul Kocialkowski
For these changes to take effect, the packages database should be updated:
75
<pre>
76 47 Paul Kocialkowski
pacman -Syu
77 1 Paul Kocialkowski
</pre>
78 47 Paul Kocialkowski
79
Additional packages installation:
80
<pre>
81 53 Denis 'GNUtoo' Carikli
pacman -S --needed multilib/lib32-glibc multilib/gcc-multilib multilib/lib32-readline multilib/lib32-ncurses multilib/lib32-zlib
82 40 Paul Kocialkowski
</pre>
83
84 54 Wolfgang Wiedmeyer
*Tweaks*
85 40 Paul Kocialkowski
86 48 Paul Kocialkowski
* repo may complain about experimental python 3 support: python 2 has to be set as default instead:
87 40 Paul Kocialkowski
<pre>
88
ln -s /usr/bin/python2 /usr/local/bin/python
89 1 Paul Kocialkowski
</pre>