Accueil Pour les confirmés Comment compiler les sources du projet Enigma@home ?
Comment compiler les sources du projet Enigma@home ?
Linux - Pour les confirmés
Écrit par GuL   
Samedi, 19 Septembre 2009 14:06

Cette procédure est destinée aux utilisateurs avancés qui veulent avoir l'application la plus optimisée possible concernant le projet http://www.enigmaathome.net.

Pour les autres utilisateurs, ce tutoriel est très bien fait

Pour ceux qui sont en 32 bits, voici les fichiers et les applications

 

 

Alors la première chose à faire c'est de télécharger les sources et de les décompresser.

enigma_sources

Ensuite, vérifiez votre version du compilateur gcc. Pour cela, ouvrez un teminal et tapez

gcc --version

Si votre version est au moins 4.2.3, c'est bon. Sinon c'est plus compliqué. Vous trouverez plus d'informations sur cette page

Allez dans le répertoire des sources et lancez la compilation :


cd /home/toto/ boinc/enigma_sources
make

Un fichier compile se créé avec un contenu ressemblant à ça :

exec gcc  -Wall -W -O3 -c ${1+"$@"}

On va modifier cette ligne en rajoutant -march=native juste après gcc et en remplaçant -03 par -02, sauver, nettoyer les fichiers et recompiler. Les explications se trouvent plus bas.


make clean
make

Un fichier enigma s'est créé dans le répertoire des sources. Renommez-le en enigma_0.76_i686-pc-linux-gnu, même si vous êtes en 64 bits. Suivez le tutoriel pour installer les applications optimisées, mais mettez le fichier enigma_0.76_i686-pc-linux-gnu que vous venez de compiler. Voilà, c'est bon.

Explication des options

 

sur ce site, on trouve :


GCC 4.2 introduces a new -march option, -march=native, which automatically detects the features your CPU supports and sets the options appropriately. If you have an Intel or AMD CPU and are using >=sys-devel/gcc-4.2.3, using -march=native is recommended.

 

L'option -march=native permet de détecter automatiquement le type de processeur que vous utilisez. Par contre, le programme compilé ne marchera que sur cette machine.

et sur cet autre site :


-O3: This is the highest level of optimization possible, and also the riskiest. It will take a longer time to compile your code with this option, and in fact it should not be used system-wide with gcc 4.x. The behavior of gcc has changed significantly since version 3.x. In 3.x, -O3 has been shown to lead to marginally faster execution times over -O2, but this is no longer the case with gcc 4.x. Compiling all your packages with -O3 will result in larger binaries that require more memory, and will significantly increase the odds of compilation failure or unexpected program behavior (including errors). The downsides outweigh the benefits; remember the principle of diminishing returns. Using -O3 is not recommended for gcc 4.x.

 

-O est le niveau d'optimisation, -O3 est le maximum mais n'est pas recommandé pour gcc 4.x

Mise à jour le Samedi, 19 Septembre 2009 21:19