Tracemonkey has landed.

Derrière ce détournement d’une phrase célèbre prononcée en 1969 – wikipedia est votre ami – le compilateur JIT pour le module javascript que j’évoquais hier vient d’arriver sur le code de développement du tronc de Shiretoko, dont la version alpha2 est prévue pour bientôt.

En effet, ce matin, réveillé à 4 h 30 par mon chiot labrador de 9 mois, j’ai allumé l’ordinateur tout en sirotant mon thé. Et après le duo habituel hg --verbose pull ; hg --verbose update pour mettre à jour le code source, j’ai pu lire ceci :


pulling from http://hg.mozilla.org/mozilla-central/
searching for changes
adding changesets
adding manifests
adding file changes
added 1167 changesets with 2340 changes to 146 files

Quoique l’arrivée du code n’est pas encore super bonne. Après une tentative de compilation avortée, j’ai viré le répertoire de compilation, et relancé la dite compilation. Mais il semble y avoir un léger problème au niveau du fichier libxul.so… 🙁


../../staticlib/components/libgklayout.a(nsCanvasRenderingContext2D.o): In function `nsCanvasRenderingContext2D::PutImageData()':
nsCanvasRenderingContext2D.cpp:(.text+0x4165): undefined reference to `js_ArrayToJSUint8Buffer'
/usr/bin/ld: ../../staticlib/components/libgklayout.a(nsCanvasRenderingContext2D.o): relocation R_X86_64_PC32 against `js_ArrayToJSUint8Buffer' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld a retourné 1 code d'état d'exécution
make[4]: *** [libxul.so] Erreur 1
make[4]: quittant le répertoire « /home/fred/logs/fox/src/objdir-fx/toolkit/library »
make[3]: *** [libs_tier_toolkit] Erreur 2
make[3]: quittant le répertoire « /home/fred/logs/fox/src/objdir-fx »
make[2]: *** [tier_toolkit] Erreur 2
make[2]: quittant le répertoire « /home/fred/logs/fox/src/objdir-fx »
make[1]: *** [default] Erreur 2
make[1]: quittant le répertoire « /home/fred/logs/fox/src/objdir-fx »
make: *** [build] Erreur 2

Bref, c’est pas encore cela… Je sens que je vais ouvrir un petit bogue malgré la tentative pour que la compilation se fasse en code 64 bits, si j’en crois cette révision rajoutée récemment


author David Anderson
Thu Aug 21 18:07:26 2008 -0700 (at Thu Aug 21 18:07:26 2008 -0700)
changeset 18331 7098e0020929
parent 18330 91fe6b5784bd
Fixed x86_64 build issue (accidentally trying to build 32-bit nanojit).

J’ai rapporté le bogue 451669. On verra bien 😉

Euh, après une petite recherche, il semblerait que le bogue 451242 soit responsable ici… Oups 😉

Shiretoko : le port pour QT est fusionné.

Il y a une dizaine de jours, je vous parlais du retour du support du toolkit QT pour le code de développement de Shiretoko.

C’est maintenant officiel. Le bogue 448989 vient d’être fermé comme corrigé. Le titre est assez clair :

Merge mozilla-qt branch into mozilla-central ce qui donne traduit : « Fusionner la branche mozilla-qt dans mozilla-central ».

Désormais, il sera possible – même si le port est assez brut de décoffrage de compiler le code source en utilisant le toolkit Qt à la place du toolkit GTK.

Une bonne nouvelle pour les personnes qui ne jurent que par KDE et qui trouve konqueror un peu trop limité par rapport à Gecko ou Webkit.

Sortie de WordPress 2.6.1

Aujourd’hui est sortie une version de maintenance de WordPress, la version 2.6.1.

Au menu des nouveautés :

  • Un meilleur support pour les langues qui s’écrivent de droite à gauche (hébreu, langues arabes entre autre)
  • Un bogue mystérieux lié à gettext a mordu la poussière.
  • Les utilisateurs du serveur Microsoft IIS voient les problèmes de permaliens résolus.
  • Les utilisateurs d’Internet Explorer auront moins de problèmes avec l’insertion d’image.
  • WordPress répond mieux pour les utilisateurs qui ont des extensions nombreuses.

En tout une grosse soixantaine de bogues ont été corrigés, en attendant la version majeure 2.7 qui pointera le bout de son nez vers le 10 novembre prochain.

Deux astuces en ligne de commande bien pratique.

J’ai toujours considéré que pour certaines choses, la ligne de commande était plus que supérieure à l’interface graphique. Il est vrai que mon premier ordinateur n’avait pas d’interface graphique pour interagir avec l’utilisateur 😉

Voici deux exemples qui prouvent la puissance de la ligne de commande.

Continuer la lecture de « Deux astuces en ligne de commande bien pratique. »

Ah, l’auto-initiation au langage C ;)

J’ai toujours été curieux de comprendre les rudiments du langage C. Bien que le site du Zéro propose un cours intéressant, il n’est pas assez « linuxisé » pour moi. En faisant quelque recherches, je suis tombé sur ce site qui propose un cours pour débutant en C.

Voici donc un programme que j’ai rédigé en C avec gedit pour un truc basique : l’application du théorème de pythagore. Il est tout sauf prémuni contre les mauvaises saisies. Je débute en C, et cela doit faire 3 heures que je le pratique, bien qu’ayant quelques notions de programmation grâce à Python.

C’est du brut de décoffrage, z’êtes prévenu. Pour les pros du C, merci de ne pas m’envoyer des missives enflammées. Je voudrais avoir des rudiments de C, cela peut toujours servir 😉

/* Programme 12 du cours de C pour Linux.

Calcul de l’hypothénuse. Pythagore.

Il faudra insérer les fonctions maths de C => #include
et donc rajouter à la ligne de compilation -lm

D’après le chapitre 4 du cours de C pour linux :

http://lesouriciergris.free.fr/linux_cours_c.html

Bouh, que je suis nul en C 😉

*/

// On commence par les includes
// racine carrée => sqrt()
// Pythagore => racine carrée de a²+b²

# include <stdio.h>
# include <math.h> // prise de tête !!!! 🙂

int main () // Boucle principale
{
// Il faut deux valeurs entière, les deux cotés a & b
// et une valeur float nommée hypo qui sera sqrt(a²+b²)

// Valeurs entières a & b, initialisée par défaut à 0.
int a,b = 0; // les deux cotés

float hypo; // hypothénuse, float pour le calcul de la racine.

// On affiche le but du programme :

// Saisie du coté a puis du coté b, deux entiers.

printf (« Valeur de a : « );
scanf (« %d », &a); // scanf va prendre en compte la saisie du clavier
// %d => nombre entier, &a => variable a.
// et de même pour b.

printf (« Valeur de b : « );
scanf (« %d », &b);

// calcul de l’hypothénuse.

a = a*a; // a² please.
b = b*b; // b² please.
hypo = sqrt(a+b); // racine de la somme des deux cotés au carré.

printf (« L’hypothénuse a donc une valeur de %.3f :\n »,hypo);
// 3 chiffres après la virgule.

return(0); // On quitte proprement, voyons.
}

Je sais, ce code est moche, lourd, mal optimisé, mais je débute en C… Et j’avoue être content d’avoir réussi sans regarder la solution 😉

NB : les indentations n’ont pas été conservées.

Cela se compile sans problème avec mon gcc 4.2 sous Linux. Des retours de la compilation de ce code sous d’autres compilateurs ?

Vrac’ons librement et rapidement ;)

Un « en vrac » rapide consacré au logiciel libre :

  • Sortie de la version alpha2 de Shredder : pas mal de nouveautés dont une meilleure intégration dans MacOS-X, support IMAP amélioré, filtre antispam amélioré. Pour une liste des bogues corrigés, il suffit d’aller sur le Rumbling Edge.
  • Firefox 3.0.2 et 2.0.0.17 sont prévus pour les environs du 3 septembre, dixit le Firefox Extension Guru’s Blog.
  • OpenArena basé sur le code source de Quake 3 Arena est en version 0.80. Et cerise sur le gateau, un exécutable AMD64 pour linux existe 😉
  • La 3ième RC du noyau linux 2.6.27 vient de sortir. Et selon Linus, le pilote ath9k a été rajouté dans le code du noyau. Dommage que cela ne concerne pas mon circuit wifi atheros 5007eg 🙁
  • WordPress 2.6.1 béta2 est disponible. Pour tout dire, n’ayant vu aucun bug dans la version 2.6.0, je ne sais pas si je n’attendrais pas la version 2.7.0 avant une nouvelle migration du logiciel.

ZenWalk 5.2 « Gnome Edition » : un petit tour du « propriétaire »

La ZenWalk est dérivé de la distribution slackware, tout en incluant des paquets assez récent. Bien qu’utilisant principalement l’environnement Xfce, une version utilisant l’environnement gnome est disponible. Du moins, en version béta 😉

Ayant téléchargé l’image ISO, j’ai créé une machine virtuelle et comme la distribution est assez légère, je ne lui ai donné que 16GiO de disque. Et avec une mémoire vive de 768 Mo, j’ai donc utilisé la ligne de commande suivante :


fred@fred-laptop:~/download$ qemu-img create -f raw zenw.img 16GFormatting 'zenw.img', fmt=raw, size=16777216 kB
fred@fred-laptop:~/download$ kvm -m 768 -hda zenw.img -k fr -localtime -soundhw all -cdrom zenwalk-gnome-5.2beta.iso -boot d &

L’installation se fait en mode semi-graphique, dans un anglais assez simple, et le tout est assez automatisé. J’ai pu noté que le formatage des partitions d’installation (une / et une /home) utilise le format xfs au lieu du classique ext3fs.

Après l’installation des paquets, l’ajout de l’utilisateur et le support du circuit son sont effectués au premier redémarrage. Ensuite, on arrive sur un écran de connexion tout ce qu’il y a de plus classique.

écran de connexion de la Zenwalk 5.2 gnome edition

Continuer la lecture de « ZenWalk 5.2 « Gnome Edition » : un petit tour du « propriétaire » »

Le retour d’un serpent de mer : QT avec Mozilla ;)

Sous linux et autres unix, Firefox utilise le toolkit GTK. Or à une époque reculée, un port pour QT pour la suite Mozilla avait été commencé, puis abandonné. cf le bogue 178987.

Or, en lisant OSNews, j’ai pu lire que le port était de nouveau en vie. Le wiki de Mozilla propose des infos pour compiler cette version. Cependant, j’ai préféré prendre une version déjà précompilée, en l’utilisant sous une Fedora 10 alpha 32 bits avec KDE 4.1. Gain de temps ? Une bonne heure 🙂

La version proposée semble être basée sur du code compilé le 4 août 2008.

Voici donc le résultat avec Acid3 et Google :

Acid3 sous Shiretoko en version QT

Google sous Shiretoko en version QT
Pour la petite histoire, peu après la libération du code source de mozilla fin mars 1998, le premier port fut effectué sous QT par Trolltech.

http://trolltech.com/company/newsroom/announcements/00000007

Le bogue qui permet de suivre l’évolution du port est le 448989. Donc si vous êtes intéressé par l’intégration de QT, c’est le bogue à suivre.

Vladimir Vukićević explique le pourquoi du comment de ce port.

Bref, c’est une bonne nouvelle pour les utilisateurs de KDE 4.x qui auront désormais un look natif pour les widgets, du moins quand Shiretoko sortira 🙂

Vers Syllable 0.6.6.

En mars dernier, j’avais testé Syllable 0.6.5. La sortie d’une version de développement qui deviendra la 0.6.6 en temps.

Pour tester cette version, j’ai créé une machine virtuelle avec 8 Go de disque.

fred@fred-laptop:~/download$ qemu-img create -f qcow2 syl.img 8G
Formatting 'syl.img', fmt=qcow2, size=8388608 kB
fred@fred-laptop:~/download$ kvm -m 768 -hda syl.img -k fr -localtime -soundhw all -cdrom SyllableDesktop-0.6.6-20080803.i586.iso -boot d &

L’installation est similaire à celle déjà abordé dans le précédent billet, et l’OS semble largement plus utilisable. La configuration du réseau se résume à l’activation du serveur DHCP.

Configuration du DHCP sous Syllable 0.6.6

La localisation en français bien qu’imparfaite est très facile à mettre en route.

Ajout d'une localisation dans Syllable 0.6.6

De même pour l’ajout d’un utilisateur avec son mot de passe.

Ajout d'un utilisateur sous Syllable 0.6.6

Mot de passe pour un nouvel utilisateur sous Syllable 0.6.6

Un nouveau navigateur Web, connu sous le nom de Webster utilisant Webkit est disponible. Bien que ce soit apparemment une vieille version ou alors l’intégration est encore en cours. Car le test acid3 n’offre qu’un résultat de 66 / 100. Mais le rendu est agréable à voir.

66 / 100 pour Webster sous Syllable 0.6.6

Ce qui ressort de ce test rapide : rapidité de démarrage, d’utilisation, souplesse, facilité de configuration. Bref, que du bonheur. Un grand OS en devenir !

Acid3 : état des lieux début août 2008.

Je profite de la moiteur de ce mois d’août pour faire un bilan sur le passage du test Acid3. Je me limite aux navigateurs utilisables sous Linux, qui recoupe quasi-complètement le nombre des navigateurs existant, à l’exception d’Internet Explorer et de Safari.

Mis à part le score parfait de Safari et le score « piteux » des versions 6 et 7 d’Internet Explorer, il n’y a pas grand chose à rajouter.

En mars dernier, j’avais déjà fait un premier état des lieux. Voyons donc en cinq mois quelles sont les différences. –

Firefox 3.0.x : Le test nous donne un joli 71 / 100.

Shiretoko – ce qui deviendra plus tard Firefox 3.1 – post-alpha1 / pré-alpha2 : 85 / 100. Cf cette précédente note.

Opera pré-9.52 : 83 / 100

83/100 avec Opera pré-9.52

Konqueror 4.1 en utilisant le liveCD proposé par OpenSuse : http://home.kde.org/~binner/kde-four-live/

J’ai installé le liveCD dans une machine virtuelle kvm, mais pas de connexion possible. Bug de Konqueror ? De Kvm ?!

Problème de connexion de Konqueror 4.1.0

J’ai compilé la révision 35542 de Webkit. Epiphany 2.24.x (qui sortira en septembre) utilisera aussi webkitGtk.

Et un score parfait à la clé.

Score parfait de webkit sous acid3