Bretelle et ceinture : de l’intérêt d’avoir à la fois networkmanager et wicd installés.

Le dépot testing d’Archlinux est très rarement « explosif ». Sauf que récemment, une version de développement de NetworkManager est venue mettre une mouise pas possible dans les connexions. J’ai rapporté un bug (qui s’est révelé être le doublon d’un autre) dans lequel le dernier NetworkManager en date (0.7.998) bloquait entièrement Gnome 🙁

Heureusement, j’avais conservé sur mon disque l’outil Wicd dont je n’avais désactivé que l’applet d’affichage et de gestion de réseau. J’ai donc utilisé la séquence ctrl + alt + F2 pour ouvrir une console en mode texte. J’ai ensuite désactivé NetworkManager, réactivé Wicd, fermé la session. Les commandes ?

sudo /etc/rc.d/networkmanager stop
sudo /etc/rc.d/wicd start

La combinaison ctrl + alt + F7 m’ayant permis de me retrouver à nouveau en mode graphique.

Pour que la modification soit prise en compte à chaque démarrage, j’ai désactivé le daemon networkmanager en lui rajoutant un ! avant son son nom dans la ligne DAEMONS de mon /etc/rc.conf :

DAEMONS=(syslog-ng !network netfs crond hal @alsa wicd !networkmanager cpufreq @iptables avahi-daemon avahi-dnsconfd pulseaudio @cups @openntpd sensors gdm)

Bref, une manipulation qui a pris, quoi, 5 minutes 🙂

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 » 😉

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. »

Test de la KahelOS, version de noël 2009.

J’avais déjà parlé de KahelOS qui est le pendant « Gnome » de la Chakra Linux fin septembre 2009. J’ai donc récupéré la nouvelle iso officielle depuis le site de la distribution, puis je l’ai installé dans une machine virtuelle VirtualBox avec l’équipement classique : 1,5 GiO de mémoire vive et 32 GiO de disque dur.

KahelOS – version de noël

L’installateur se lance après le démarrage, et permet de définir l’heure, puis le partitionnement du disque, en proposant certaines options assez « sauvage », comme le système de fichier btrfs qui est encore dans les couches-culottes

L’installation de base demande environ 3 GiO d’espace disque… Mais c’est une installation qui semble assez complète, ne serait-ce qu’au niveau des serveurs de Xorg

Continuer la lecture de « Test de la KahelOS, version de noël 2009. »