URL: https://linuxfr.org/users/ted/journaux/compiler-ses-logiciels-exemple-avec-geany-1-37-1 Title: Compiler ses logiciels, exemple avec Geany 1.37.1 Authors: ted Date: 2021年08月19日T11:08:54+02:00 License: CC By-SA Tags: geany, compilation, linux_mint et flatpak Score: 22 Grâce à l’effort des développeurs et mainteneurs de nos distributions, il est très rare que le besoin de compiler un logiciel se fasse sentir. C’est une tâche qui parait très compliquée, et pourtant cela se résume souvent à lancer quelques commandes en suivant une notice. Je vous propose donc un exemple avec le logiciel Geany qui se prête bien à l’exercice: ses dépendances peu nombreuses sont toutes présentes dans les dépôts de ma distribution (c’est la condition pour que la compilation ne se transforme effectivement pas en chasse au trésor). [Geany](https://www.geany.org/) est un [environnement de développement intégré](https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement). Je l’aime beaucoup, car il est très léger, loin des usines à gaz telles que [mettez ici le nom d’un logiciel écrit en Java ou Electron], au point qu’il peut remplacer un éditeur de texte en usage courant. Il est disponible dans les dépôts de toutes les bonnes distributions, mais souvent en version un peu âgée. C’est le cas sous Linux Mint que j’utilise, certes il y a une version récente en Flatpak du logiciel, c’est installable en 2 clics et 3Gio depuis la logithèque mais ça ne me convient pas pour diverses raisons. Pourquoi compiler son logiciel alors? L’avantage premier est d’avoir la toute dernière version du logiciel, voire d’utiliser une version de développement. On a ainsi accès aux dernières fonctionnalités, et on peut aider à rendre le logiciel meilleur en rédigeant des rapports de bugs, voire en corrigeant les bugs soi-même. Je rencontre justement quelques bugs gênants concernant la coloration syntaxique, alors c’est l’occasion de régler ça. Sur le site officiel du projet ils proposent de télécharger les sources pour compiler soi-même le logiciel, et sur le dépôt Github il est expliqué comment procéder. C’est facile, allons-y! On télécharge puis on extrait le fichier `geany-1.37.1.tar.gz` qui correspond à la dernière version stable. On ouvre un terminal dans le dossier contenant les sources, et on tape: ./configure Le script vérifie que nous avons tout le nécessaire pour compiler le logiciel. Il me dit: No package 'gtk+-3.0' found No package 'glib-2.0' found No package 'gio-2.0' found No package 'gmodule-no-export-2.0' found Dans votre cas il risque également de réclamer un compilateur et d’autres outils de développement (gcc, make), qui devraient pouvoir s’installer avec le paquet `build-essentials`. Pour ma part, j’installe donc le paquet `libgtk-3-dev` qui correspond à la première ligne du précédent rapport. `dev` signifie que ce sont les fichiers nécessaires pour du développement, c’est ce qu’il nous faut. Puis je relance le script: sudo apt install libgtk-3-dev ./configure Ce qui donne: configure: error: The intltool scripts were not found. Please install intltool. Le script ne réclame plus les trois autres packages, car ils ont été installés en même temps que `libgtk3`, mais faut maintenant installer `intltool`. J’en profite pour installer également `checkinstall`. sudo apt install intltool checkinstall On relance le script, qui nous dit: Configuration is done OK. On peut passer à la suite, la compilation! Il suffit de taper « make » dans le terminal et de laisser faire pendant quelques minutes. Une fois le logiciel compilé, il faut l’installer. La documentation nous dit de faire un `sudo make install` pour cela, ce qui va copier les fichiers compilés un peu partout dans le système. Ça marche mais ça complique la désinstallation du logiciel, c’est pourquoi nous allons créer un paquet deb à l’aide de `checkinstall`. On utilisera donc cette commande: sudo checkinstall Quand c’est fait, on désinstalle complètement l’ancienne version de Geany puis on installe la nouvelle: sudo apt autoremove geany sudo dpkg -i geany_1.37.1-1_amd64.deb Le logiciel est installé, on peut le lancer depuis le menu, ou depuis le terminal en tapant son petit nom: geany geany: error while loading shared libraries: libgeany.so.0: cannot open shared object file: No such file or directory Ouch! Il ne trouve pas le fichier libgeany.so.0 qui est pourtant bien installé dans /usr/local/lib. On va alors créer un lien symbolique dans le dossier /usr/lib pour qu’il le trouve. sudo ln -s /usr/local/lib/libgeany.so.0 /usr/lib Voilà, ça marche, je peux retourner travailler!

AltStyle によって変換されたページ (->オリジナル) /