Project

General

Profile

Replicant60BuildDependenciesInstallation » History » Revision 28

Revision 27 (Denis 'GNUtoo' Carikli, 05/31/2014 01:54 PM) → Revision 28/73 (Denis 'GNUtoo' Carikli, 05/31/2014 01:56 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> 

 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>