J’utilise depuis un certain temps sous Linux, le logiciel commercial Antidote 8 comme correcteur pour tous mes textes. Mais depuis le passage de l’ordinateur de ma femme à SolydX, qui est basé sur Debian testing, Antidote 8 a cessé de fonctionner en me générant des erreurs de segmentation.
Après plusieurs recherches sur Internet, je suis tombé sur article qui mentionnait que le problème provenait de Antidote 8 lui-même qui ne reconnaît pas certaines versions du noyau (kernel) de Linux. Selon l’article, Antidote 8 serait codé statiquement (hard coded) pour reconnaître des versions du noyau (kernel) ayant une numérotation du genre 3.13.4 et SolydXK retourne le numéro sous la forme de 3.13-4 ce qui fait planter Antidote 8.
J’ai donc continué mes recherches sur Internet à savoir s’il y aurait une solution pour présenter un numéro de noyau (kernel) Linux différent, mais seulement pour certaines applications spécifiques.
Finalement j’ai trouvé un solution qui c’est avérée assez simple : Il s’agit d’installer un petit script (fake-uname.so) qui change temporaire la version du noyau (kernel) Linux dans une variable d’environnement et de modifier le script appelant de Antidote 8 pour utiliser cette variable d’environnement.
Dans tous les exemples ci-dessous, remplacez le 32 par 64 si vous utilisez une version 64 bits
1. Mettre le script en place :
wget https://mail.gnome.org/archives/evolution-list/2003-December/txtBEWSVk2eft.txt -O /tmp/uname.c
1. Ajouter des fonctionnalités au script :
sed -i '1i#define _GNU_SOURCE' /tmp/uname.c
2. Compiler
sudo gcc -shared -fPIC -ldl /tmp/uname.c -o /opt/Druide/Antidote8/Programmes32/fake-uname.so
3. Prendre une copie du script de démarrage original
sudo cp /opt/Druide/Antidote8/Programmes32/Antidote8 /opt/Druide/Antidote8/Programmes32/Antidote8.back
4. Intégrer
Editer le script de démarrage de Antidote 8 avec votre éditeur préféré
sudo vi /opt/Druide/Antidote8/Programmes32/Antidote8.
Insérer les deux lignes suivante au tout début du script
export LD_PRELOAD=/opt/Druide/Antidote8/Programmes32/fake-uname.so
export RELEASE=$(uname -r | sed 's/^\(...\)/\1.0-antidote-fix/g')
Vous devriez maintenant être en mesure d'utiliser Antidote 8. Nul besoin de redémarrer votre ordinateur ou de fermer votre session, voyons, c'est Linux!
Mise à jour de Antidote 8
Antidote 8 ne vous permettra pas d’effectuer une mise à jour du logiciel si le script appelant a été modifié. Donc vous devez remettre la copie originale en place avant de procéder à une mise à jour
sudo cp /opt/Druide/Antidote8/Programmes32/Antidote8.back /opt/Druide/Antidote8/Programmes32/Antidote8
Effectuer la mise à jour de Antidote 8 normalement et ensuite insérez à nouveau les deux ligne dans le script de démarrage de Antidote 8 selon votre distribution (32 ou 64 bits) tel que spécifié à l’étape 4.