Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Version 83

Denis 'GNUtoo' Carikli, 08/23/2021 03:12 PM
trisquel9: use update-alternatives instead of apt-remove. Not only it's cleaner but it might also enable to make the host proguard work.

1 73 Denis 'GNUtoo' Carikli
h1. Replicant 6.0 build dependencies installation
2 72 Denis 'GNUtoo' Carikli
3 78 Denis 'GNUtoo' Carikli
{{toc}}
4
5 40 Paul Kocialkowski
*Replicant can only be built on 64 bit x86 architectures, building on 32 bit x86 systems is no longer supported.*
6
However, some prebuilt tools are still 32 bit x86 executables and some host tools are generated as 32 bit x86 executables.
7 1 Paul Kocialkowski
8 19 Paul Kocialkowski
It is recommended to have at least 4GB of RAM available.
9 58 Wolfgang Wiedmeyer
10 1 Paul Kocialkowski
h2. Debian-based systems
11
12 79 Denis 'GNUtoo' Carikli
h3. Debian 9 (stretch)
13 54 Wolfgang Wiedmeyer
14 49 Paul Kocialkowski
Packages installation:
15 1 Paul Kocialkowski
16
<pre>
17 54 Wolfgang Wiedmeyer
dpkg --add-architecture i386 ; apt-get update
18 1 Paul Kocialkowski
apt-get build-dep gcc binutils llvm-defaults
19 54 Wolfgang Wiedmeyer
apt-get install bash 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 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 rsync
20 71 Denis 'GNUtoo' Carikli
</pre>
21 1 Paul Kocialkowski
22 74 Denis 'GNUtoo' Carikli
As @repo@ tend to update itself (by downloading a new version of repo and running it) and that newer versions of repos also require newer versions of python, it doesn't work anymore on Debian 9 (stretch). 
23
24 75 Denis 'GNUtoo' Carikli
To work around that, we also released "a version of repo that is self-contained":https://ftp.osuosl.org/pub/replicant/build-tools/repo/ . Make sure to read the README for installation instructions. The README content is also signed with gpg (by [[People#Denis-GNUtoo-Carikli|Denis 'GNUtoo' Carikli]], who at the time of writing did the last Replicant 6 Release Candidates).
25 54 Wolfgang Wiedmeyer
26 77 Denis 'GNUtoo' Carikli
In addition you also need to workaround some issues with Debian 9 (stretch) with the path of grep, sed, and mkdir that prevent building the toolchain. See the [[Replicant60BuildTips#usrbingrep-usrbinsed-usrbinmkdir-No-such-file-or-directory|/usr/bin/grep, /usr/bin/sed, /usr/bin/mkdir: No such file or directory]] section for how to do that.
27 80 Denis 'GNUtoo' Carikli
28
h3. Trisquel 9 (etiona)
29
30
Note that Trisquel 9 is a work in progress as some patches for it have not been sent yet, and we have not yet confirmed that it can build Replicant 6.0.
31
32
Packages installation:
33
34
<pre>
35
dpkg --add-architecture i386 ; apt-get update
36
apt-get build-dep gcc binutils llvm-defaults
37 82 Denis 'GNUtoo' Carikli
apt-get install bash gcc-arm-none-eabi cmake python-dev swig ant bc proguard maven-debian-helper 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 ca-cacert curl gawk libgmp3-dev libmpfr-dev libmpc-dev git 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 rsync
38 83 Denis 'GNUtoo' Carikli
update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
39
update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
40 80 Denis 'GNUtoo' Carikli
</pre>
41
42
As @repo@ tend to update itself (by downloading a new version of repo and running it) and that newer versions of repos may also require newer versions of python that aren't in Trisquel 9.
43
44
If that appears to be the case, we also released "a version of repo that is self-contained":https://ftp.osuosl.org/pub/replicant/build-tools/repo/ . Make sure to read the README for installation instructions. The README content is also signed with gpg (by [[People#Denis-GNUtoo-Carikli|Denis 'GNUtoo' Carikli]], who at the time of writing did the last Replicant 6 Release Candidates).
45
46
In addition you may also need to workaround some issues with Trisquel 9 (stretch) with the path of grep, sed, and mkdir that prevent building the toolchain. See the [[Replicant60BuildTips#usrbingrep-usrbinsed-usrbinmkdir-No-such-file-or-directory|/usr/bin/grep, /usr/bin/sed, /usr/bin/mkdir: No such file or directory]] section for how to do that.