Compiler Minefield sur les distributions linux « moins grand publics » – Partie 3 – ArchLinux.

Après la Frugalware Linux et la Slackware Linux, voici le dernier volet : La ArchLinux. J’ai installé et mis à jour une ArchLinux 64 bits. J’ai installé dessus un Xfce 4.6.1 à la place d’un Gnome. Pourquoi ? Simplement que je voulais utiliser un environnement basé sur gtk2 assez léger 😉

Sur Archlinux, le problème lié au bug 104642 sur le bugzilla de Mozilla se résout facilement.

Avec une installation par défaut d’Archlinux avec Xfce (ou encore Gnome), on a la quasi-totalité des dépendances de compilation. Seul manque autoconf 2.13, mercurial et zip. En utilisant l’excellent yaourt, le problème se résout en… 2 minutes :

yaourt -S autoconf-compat mercurial zip

Installation d'autoconf 2.13 sur Archlinux

Pour gagner du temps, j’ai utilisé le paquet du code source que j’utilise dans ma machine réelle. Il faut dire que le code source pèse quelque chose comme 600 MiO décompressé.

Sinon, pour récupérer le code source en entier :

hg clone http://hg.mozilla.org/mozilla-central/ src

Le code source est localisé dans ~/fox/src

Le fichier de configuration .mozconfig utilisé est le suivant :

#
# See http://www.mozilla.org/build/ for build instructions.
#

export AUTOCONF=autoconf-2.13

. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-fx

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize
ac_add_options –disable-debug
ac_add_options –disable-tests

Ensuite on verifie que le code source est bien à jour :

hg --verbose pull -u

Et la compilation proprement dite :

make -f client.mk build

La compilation dure environ 90 minutes. Sur ma machine réelle, la compilation prend 25 minutes de moins, environ.

Le résultat est disponible dans le répertoire objdir-fx/dist/firefox/

Il suffit d’entrer un ./firefox & pour avoir le résultat.

Minefield sur Archlinux

Maintenant à vous d’adapter les instructions pour votre propre distribution, tant qu’elle est assez peu « grand public » 😉