Humus numericus

Aller au contenu | Aller au menu | Aller à la recherche

R, Spip et autres

Utiliser le browser SWT sous Eclipse 3.1.1 avec Debian

J'utilise depuis peu une version recompilée pour testing du paquet unstable d'Eclipse 3.1.1. Tout fonctionne bien a priori, mais je viens de rencontrer une difficulté après l'installation des RDT (Ruby Development Tools) pour utiliser la vue ri : j'obtiens un message d'erreur me signalant un crash de SWT.

En fait, cette erreur est due à l'impossibilité pour Eclipse et SWT d'utiliser le widget Browser du fait d'une dépendance non-satisfaite, en l'occurrence il a besoin de la librairie libgtkembedmoz.so qu'il ne retrouve pas. Les instructions pour faire tourner tout ça sont dans la FAQ d'Eclipse, mais en fait sous Debian le problème vient du fait que SWT cherche la librairie manquante sous Firefox alors qu'elle n'est présente que sous Mozilla. Et modifier la variable MOZILLA_FIVE_HOME, comme indiqué dans la faq, ne fontionne pas car celle-ci est initialisée dans le script de démarrage d'Eclipse.

La solution la plus simple est donc de modifier le script de démarrage en question, en l'occurrence le fichier /usr/bin/eclipse en transformant le passage suivant :

# Set path for the Mozilla SWT binding
if [ -d /usr/lib/firefox ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/firefox
elif [ -d /usr/lib/mozilla-firefox ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla-firefox
elif [ -d /usr/lib/mozilla ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla
fi

en ceci :

# Set path for the Mozilla SWT binding
#if [ -d /usr/lib/firefox ]; then
#    export MOZILLA_FIVE_HOME=/usr/lib/firefox
#elif [ -d /usr/lib/mozilla-firefox ]; then
#    export MOZILLA_FIVE_HOME=/usr/lib/mozilla-firefox
if [ -d /usr/lib/mozilla ]; then
    export MOZILLA_FIVE_HOME=/usr/lib/mozilla
fi

Note : je viens de mettre à jour en version 3.1.2, et le problème est fixé dans le /usr/bin/eclipse de la distribution.