2011-03-26 18:46

Compiler ePDFView sous slackware current

Mise à jour : plus besoin de cette manipulation, une slackbuild est maintenant disponible.

ePDFView est un lecteur de PDF libre et léger, dans la lignée d'Evince, les dépendances gnome en moins. Il s'accorde donc très bien avec l'utilisation d'Openbox.

Malheureusement, depuis mon passage en current, impossible de le lancer. C'était déjà arrivé avec plusieurs logiciels. Dans la plupart des cas il suffit de les re-compiler sous le nouvel environnement et des les réinstaller.

Je vérifie que j'ai bien le dernier slackbuild, et c'est parti. Jusqu'à cette erreur :

PDFDocument.cxx: In member function ‘virtual void
ePDFView::PDFDocument::setTextSelection(ePDFView::DocumentRectangle*)’:
PDFDocument.cxx:690:22: erreur: too many arguments to function ‘char*
poppler_page_get_text(PopplerPage*)’
/usr/include/poppler/glib/poppler-page.h:101:24: note: declared here
make\[3]: *** \[libepdfview_a-PDFDocument.o] Erreur 1
make\[3] : on quitte le répertoire « /tmp/SBo/epdfview-0.1.7/src »
make\[2]: *** \[all-recursive] Erreur 1
make\[2] : on quitte le répertoire « /tmp/SBo/epdfview-0.1.7/src »
make\[1]: *** \[all-recursive] Erreur 1
make\[1] : on quitte le répertoire « /tmp/SBo/epdfview-0.1.7 »
make: *** \[all] Erreur 2



Heureusement, j'ai pu trouver rapidement la solution sur un site espagnol.

Le problème est dû à une incompatibilité avec poppler 0.16.x (version 0.16.2 actuellement en current). Heureusement, il suffit de modifier légèrement le slackbuild, qui se chargera à son tour de modifier le code source.

La méthode :



Télécharger le dernier slackbuild :

wget http://slackbuilds.org/slackbuilds/13.1/office/epdfview.tar.gz


Le décompresser, puis se rendre dans le dossier qu'on vient de créer :

cd epdfview


Télécharger les sources correspondantes :

wget http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-0.1.7.tar.bz2


Ouvrir le fichier epdfview.SlackBuild à l'aide de votre éditeur de texte favoris (vim est le meilleur, toussa) et se rendre à la ligne 78. Vous êtes normalement situé juste après les lignes suivantes :

# Add patch to fix mouse-scrolling in 0.1.7
patch -p0 < $CWD/mouse-scroll-fix.patch

Après ces deux lignes donc, ajouter :

sed -e 's:poppler_page_get_text:poppler_page_get_selected_text:' \
-e 's:page, &textRect:page, POPPLER_SELECTION_GLYPH, \&textRect:' -i src/PDFDocument.cxx


Enregistrer et quitter. Vous pouvez maintenant relancer la compilation, elle doit se dérouler sans problème.


Cette méthode est valable le 26/03/2011, mais sera certainement inapplicable et inutile dès le passage à slackware 13.37.


Posted by St3rk | Permanent link | File under: linux, slackware