Compiler Minefield sur les distributions linux « moins grand publics » – Partie 2 – Slackware Linux.

Après la Frugalware Linux, voici le deuxième volet : La Slackware Linux. J’ai installé et mis à jour une slackware64 13.0. J’ai installé une version allégée, remplaçant le KDE 4.2.x proposé par défaut par un Xfce 4.6.1.

Le point ennuyeux ? L’absence d’autoconf 2.13 qui est indispensable pour lancer la compilation du code source. Cf le bug 104642 sur le bugzilla de Mozilla.

N’ayant pas pu trouver le paquet pour autoconf 2.13 sur http://www.slackbuild.org/, j’ai été obligé de le faire compiler à la main. Pas très propre mais fonctionnel !

J’ai du rajouté le paquet libnotify (en forçant l’architecture dans le fichier de slackbuild) depuis http://www.slackbuild.org/.

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=autoconf2.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

Erreur compilation de Minefield dans une Slackware 13.0 64 bits

Et impossible de dépasser la compilation du moteur javascript, la compilation s’arrête avec une histoire de cible « -pthread » introuvable. Je me suis aperçu de la présence de 2 répertoires dans /usr :

  • /usr/lib
  • /usr/lib64

J’ai tenter de rajouter le second dans le fichier /etc/ld.so.conf, mais après un redémarrage, aucun changement. J’avoue avoir « googler » mais sans grande réussite. A croire que la version de développement ne se compilera dans une Slackware Linux 13.0 64 bits 🙁

A croire que ce commentaire sur l’article précédent était un brin prémonitoire.

Dommage !

Compiler Minefield sur les distributions linux « moins grand publics » – Partie 1 – Frugalware Linux.

Depuis l’an 2000 (en gros), j’ai pu faire compiler à mes différentes machines (PC sous Windows ou Linux, ou encore mon MacMini à l’époque de MacOS-X Tiger) le code source de la suite Mozilla (devenue SeaMonkey) puis de Mozilla Firefox et de Mozilla Thunderbird, ce qui m’a permis de vivre leur évolution depuis près de 10 ans.

Pour fêter ces 10 ans (déjà !), j’ai décidé de faire une série de tutoriels pour montrer comment faire compiler Mozilla Firefox – du moins le code du tronc connu comme MineField (champ de mines) – sur les distributions linux moins « grand public ».

Le premier article est consacré à la Frugalware Linux. Je ferais aussi des articles pour la Slackware et pour la ArchLinux. Les distributions plus « connues » que sont Ubuntu Linux ou encore la Fedora sont déjà couverte via le biais de la debian et de la RedHat sur cette page consacrée aux développeurs sur le site de la Fondation Mozilla : https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Linux_Prerequisites

La Frugalware Linux est une version 1.1 en 64 bits que j’ai fait passé vers current. L’ayant installé depuis le DVD, j’ai rajouté le groupe « devel » ce qui me permet d’avoir 99% des outils de compilation.

Le point ennuyeux ? L’absence d’autoconf 2.13 qui est indispensable pour lancer la compilation du code source. Cf le bug 104642 sur le bugzilla de Mozilla.

Continuer la lecture de « Compiler Minefield sur les distributions linux « moins grand publics » – Partie 1 – Frugalware Linux. »