Aujourd'hui j'ai profité du jour férié pour compiler GCC 5.1 sur mon Raspberry 2.
En soit, la procédure n'est pas compliquée, c'est la même que sur n'importe quel linux sauf que depuis quelques temps la compilation nécessite une quantité importante de mémoire. En fait, il faut bien plus que le giga de RAM dont dispose la machine et je n'ai vraiment pas envie de faire de la cross-compilation.
Comme d'habitude, Linux montre sa supériorité dès qu'on sort un peu des sentiers battus. Pour "augmenter" la quantité de mémoire disponible j'ai tout simplement utiliser le module ZRAM.
Mon environnement est la Rasperian, sur les autres distributions la procédure est très proche.
Pour commencer, on va crée un petit script qui va nous faciliter la vie pour la zram :
Copiez les lignes ci-dessous dans votre éditeur favori et sauvegardez le fichier sous le doux nom de "enable-zram"
--------------------------
#!/bin/bash
modprobe zram &&
echo $((350*1024*1024)) > /sys/block/zram0/disksize &&
mkswap /dev/zram0 &&
swapon -p 10 /dev/zram0 &&
exit 0
En soit, la procédure n'est pas compliquée, c'est la même que sur n'importe quel linux sauf que depuis quelques temps la compilation nécessite une quantité importante de mémoire. En fait, il faut bien plus que le giga de RAM dont dispose la machine et je n'ai vraiment pas envie de faire de la cross-compilation.
Comme d'habitude, Linux montre sa supériorité dès qu'on sort un peu des sentiers battus. Pour "augmenter" la quantité de mémoire disponible j'ai tout simplement utiliser le module ZRAM.
Mon environnement est la Rasperian, sur les autres distributions la procédure est très proche.
Pour commencer, on va crée un petit script qui va nous faciliter la vie pour la zram :
Copiez les lignes ci-dessous dans votre éditeur favori et sauvegardez le fichier sous le doux nom de "enable-zram"
--------------------------
#!/bin/bash
modprobe zram &&
echo $((350*1024*1024)) > /sys/block/zram0/disksize &&
mkswap /dev/zram0 &&
swapon -p 10 /dev/zram0 &&
exit 0
--------------------------
Ensuite :
chmod +x enable-zram
sudo ./enable-zram
Et voilà, vous disposez maintenant d'une zram 350 Mo.
Maintenant on va télécharger et préparer gcc
wget http://mirror1.babylon.network/gcc/releases/gcc-5.1.0/gcc-5.1.0.tar.bz2
tar xjvf gcc-5.1.0.tar.bz2
cd gcc-5.1.0
On prépare les variables d'environnements qui vont bien
export LIBRARY_PATH=/usr/lib/$(gcc -print-multiarch)
export CPATH=/usr/include/$(gcc -print-multiarch)
et enfin, on passe à la configuration et à la compilation
./configure --prefix=/opt/gcc
make -j2
Remarquez que je compile sur deux coeurs au lieu de 4, nous n'avons tout simplement pas suffisamment de mémoire pour utiliser 4 processus de compilation en même temps, à un moment ou un autre nous risquons de manquer de mémoire.
Voilà, maintenant vous pouvez allez profiter de la journée dehors ou regarder le premier épisode de la trilogie du seigneur des anneaux car la compilation prend beaucoup de temps. Une fois de retour devant votre machine, il ne vous reste plus qu'un installer le compilateur fraîchement compilé :
sudo make install
Et gcc 5.1 sera installé dans /opt/gcc
Aucun commentaire:
Enregistrer un commentaire