Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Revision 54

Revision 53 (Denis 'GNUtoo' Carikli, 03/07/2017 01:22 PM) → Revision 54/77 (Wolfgang Wiedmeyer, 03/08/2017 01:59 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. Replicant 6.0 

 h3. Debian-based systems 

 *Debian 9* 

 Packages installation: 

 <pre> 
 dpkg --add-architecture i386 ; apt-get update 
 apt-get build-dep gcc binutils llvm-defaults 
 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 
 </pre> 

 h2. Replicant 4.2 

 h3. Debian-based systems Trisquel 7.0 

 *Trisquel 7.0* 

 Packages installation: 

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

 *Debian 8* h3. Debian 8 

 Packages installation: 

 <pre> 
 dpkg --add-architecture i386 ; apt-get update 
 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 
 </pre> 

 *Tweaks* h3. Tweaks 

 * If the packages manager complains about @lib32readline5-dev@ being missing, it has to be replaced with @lib32readline-gplv2-dev@ in the command line. 
 * If the @/usr/lib/zconf.h@ header is missing, a symlink has to be created: 
 <pre> 
 ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/lib/zconf.h 
 </pre> 
 * If errors messages about incompatible library versions are shown, some symlinks have to be created. For instance: 
 <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. h2. Arch Linux-based systems 

 *Parabola* h3. Parabola 

 Base packages (from the Parabola repositories) installation: 
 <pre> 
 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 
 </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 --needed multilib/lib32-glibc multilib/gcc-multilib multilib/lib32-readline multilib/lib32-ncurses multilib/lib32-zlib 
 </pre> 

 *Tweaks* h3. Tweaks 

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