Contourner le bug #65002 dans Poppler avec Vala
Par olivier le vendredi 27 septembre 2013, 12:47 - Programmation - #
Récemment, je me suis mis à apprendre le langage Vala (je ne connais pas encore toutes les suptilités), et en essayant de comprendre un des exemples, la compilation a échoué.
J'ai trouvé, qu'il avait déjà été mentionné ici.
En parcourant le fichier poppler-glib.deps
, on constate qu'il y a une référence à Gtk+2 (en réalité c'est GDK 2).
Donc si on remplace le nom du package gdk-2.0 par gdk-3.0 tout fonctionne correctement.
Pour éviter de modifier un fichier sur le système, le plus simple consiste à le copier [1] (dans le dossier où se trouve notre programme vala).
$ cp /usr/share/vala-0.20/vapi/poppler-glib.* .
On fait le remplacement, et si l'on a besoin de compiler avec le support de Poppler, voici les options qu'il faut passer au compilateur.
$ valac --vapidir=. --pkg poppler-glib ...
Pour conclure, je vous présente un programme,qui va rechercher des informations contenu dans un fichier PDF.
Pour le compiler.
$ valac --vapidir=. --pkg poppler-glib --pkg glib-2.0 --pkg gio-2.0 pdf-info.vala
Si tout se passe bien (ne faites pas attention aux warnings), on le lance de cette manière.
$ ./pdf-info -h Usage: pdf-info [OPTION...] Help Options: -h, --help Show help options Application Options: -f, --filename Path to PDF file $
Quelques exemples de résultats possibles
$ ./pdf-info -f ~/Documents/packaging-tutorial.fr.pdf title: Tutoriel : la construction de paquets Debian Nb pages: 78 pdfTeX-1.40.13 $ $ ./pdf-info -f ~/Téléchargements/accuseReception.pdf No title Nb pages: 2 Apache FOP Version 1.0 $ $ ./pdf-info -f ~/Téléchargements/BSD_08_2013.pdf title: BSD Magazine Nb pages: 48 Adobe PDF Library 9.9 $
Note
[1] La version de vala peut être différente, esayez find /usr/share/ -maxdepth 1 -type d -name 'vala-*' -print