Compiler et installer Mozilla (1.0.x, 1.{2,3,4,5,6,7}.x)

Dernière mise à jour : 24/03/2004

    Ce petit article devrait vous permettre d'installer Mozilla 1.x sur votre machine pr√©f√©r√©e √† partir des sources. Attention, d√©pendant des machines, la compilation prends du temps (1h sur un Athlon 1.4 Ghz / 50 minutes sur un XP 2000+). Il vous faudra pour compiler quelques librairies de d√©veloppement telles que : zlib, ORBit, jpeg-6b, libmng, libpng, gtk+ 1.2 (2.x pour la version anti-alias√©e) et java si vous voulez utiliser les plugins. J'ai cr√©√© ces instructions √† partir de l'ebuild Mozilla pour Gentoo/Linux.



    J'ai mis √† jour les informations contenues dans cette page pour refl√©ter les modifications fa√ģtes par l'√©quipe Mozilla dans la derni√®re version. Attention : cette m√©thode vous permet de cr√©er des binaires que vous pouvez alors installer sur d'autres machines ou d'autres Linux. Si vous d√©sirez installer Mozilla 1.2.x de fa√ßon traditionnelle, il vous suffit de d√©compacter Mozilla 1.2.x et d'√©diter .mozconfig se trouvant dans la racine du source, lancez ensuite un traditionnel make ; make install. Vous pouvez aussi faire un make -f client.mk afin de sortir les derniers sources CVS mais cela est plut√īt r√©serv√© √† ceux qui aiment l'instable.

    Commencez par cr√©er un r√©pertoire temporaire dans votre $HOME tel que : build. D√©compactez Mozilla √† l'int√©rieur et commencez donc la configuration comme √©crit ci-dessous. On va dans un premier temps exporter quelques variables pour indiquer √† Mozilla ce dont on a besoin. Le emake permet de sp√©cifier des builds parall√®les, devant aider le syst√®me √† compiler plus vite. Les lignes CFLAGS et CXXFLAGS sont n√©cessaires pour les possesseurs de GCC 3.x qui auraient des optimisations pouss√©es, on les d√©sactive et pr√©cise 686 √† la place. Les deux autres optimisations sont pour √©viter un crash lors du d√©marrage. Enfin le MOZ_PSM concerne le support des certificats SSL :

    Avant de vous lancer dans une compilation en particulier sous LFS (ou tout autre syst√®me source), pensez √† lire les release notes et √† installer les autres logiciels dont Mozilla a besoin pour compiler : zip, unzip, expat, pango, fontconfig, XFree 4.3.x (conseill√©), et libIDL. Cela fait partie des paquets sp√©cifiques que j'ai du installer sur ma LFS avant de compiler Mozilla 1.6b.

    Il nous faut ensuite faire notre ./configure dans lequel nous indiquons tous les param√®tres de compilation. Donc je l'ai compil√© personnellement avec son propre nspr (c'est plus propre), support ssl, java et j'ai d√©sactiv√© tout le debug pour que ca prenne moins de place. Enfin, j'ai choisit de compiler mozilla pour aller dans /opt/mozilla mais libre √† vous de le mettre ailleurs (n'oubliez pas de v√©rifier l'existence d'un autre mozilla g√©n√©ralement dans /usr/lib qu'il ne faut pas √©craser !).

    Pour ceux qui veulent aussi b√©n√©ficier de l'anti-aliasing, installez xft et gtk2. Mozilla 1.3 (et plus) contient le code de facto pour vous aider √† obtenir un beau mozilla, je vous d√©conseille donc d'utiliser une version pr√©c√©dente si vous le fa√ģtes manuellement. C'est √©galement la raison pour laquelle j'ai retir√© mon patch 1.2.1 des t√©l√©chargements. Vous devez ensuite ajouter les param√®tres suivants au configure : --enable-default-toolkit=gtk2 --enable-xft. Enfin s'il ne trouve pas xft, c'est fournit avec gnome2 et pango, cherchez alors le fichier pangoxft.pc et fa√ģtes un lien symbolique vers xft.pc ou bien exportez la variable PKG_CONFIG_PATH (le miens se trouve dans /usr/lib/pkgconfig:)

    Le patch Mozilla 1.2.1 ne faisait pas que mettre √† jour gtk2 mais fixait √©galement quelques autres probl√®mes. Vous pouvez donc t√©l√©charger le patch pour : Mozilla 1.3.x. Je n'inclus plus les patches pour les Mozilla 1.4.x car ils sont suffisemment stables sans ajouter autre chose.

    T√©l√©chargez donc la version qui vous convient. Il ne reste alors qu'√† l'appliquer √† votre version de Mozilla de cette fa√ßon :

    S'il ne vous a retourn√© aucune erreur, vous pouvez alors scander un make et aller vous faire un caf√©. Cette compilation prendra entre 1h (Athlon 1.4 Ghz) et 4h (C√©l√©ron 566@850). Tout devrait se passer normalement. J'ai personnellement fais les tests avec GCC 3.2 qui ne m'a pos√© aucun soucis.

    La compilation du support NSS/SSL demande une petite manipulation suppl√©mentaire. Commencez par cr√©er un r√©pertoire mozilla dans /opt en tant que root, que vous allez attribuer √† votre utilisateur le temps de l'installation : mkdir /opt/mozilla ; chown frlinux.users /opt/mozilla. Il vous faut ensuite faire ceci :

    Nous allons √† pr√©sent copier les fichiers IDL et les INCLUDES vers le r√©pertoire d'installation. Notez ici l'utilisation de -LfR afin de copier r√©cursivement des liens et de les remplacer par les binaires sur lesquels ils sont li√©s. Enfin nous installons Mozilla :
    Nous allons √† pr√©sent copier les includes et headers des fichiers NSS vers l'installation. La raison de ces commandes est qu'un make install ne marche en fait pas (il ne les recopie pas). Les commandes suivantes vont servir √† cr√©er un r√©pertoire temporaire o√Ļ nous installons les binaires NSS/SSL, ici encore, ils seront install√©s en tant que liens symboliques, d'o√Ļ la raison d'un r√©pertoire temporaire :
    Nous recopions ensuite le fichier shell pour le lancement de Mozilla ainsi que les icones. La ligne suivante sert quant √† elle √† r√©parer les permissions pour que tous les utilisateurs puissent d√©marrer Mozilla.

    Enfin, nous installons √† pr√©sent le th√®me par d√©faut et fixons deux ou trois autres probl√®mes de droits.

    Le moment de v√©rit√© est arriv√©. Votre Mozilla est install√© dans /opt/mozilla et ne devrait pas peser beaucoup en taille (74 Mo pour Mozilla 1.0.x et 59 Mo pour 1.2.x !). Il ne reste plus qu'√† lancer la b√™te. Vous devez pour se faire d√©clarer juste une fois l'endroit o√Ļ se trouvent les librairies de Mozilla, par la commande suivante :

    Comme vous l'aurez devin√©, la seconde commande lance Mozilla. Suivez bien ce qu'il se passe en ligne de commande dans votre xterm afin de d√©celer des erreurs importantes. Normalement, vous devriez avoir un Mozilla flambant neuf devant vos yeux.