Comment installer la bibliothèque GD

Gestion des dépendances sous Linux et Mac OS

Cet article vous explique comment installer le module GD pour Perl. Il a également pour but de surtout vous expliquer comment installer la bibliothèque GD sous Linux et Mac OS car cela nécessite l'installation de certaines dépendances non évidentes à installer sur un serveur (libpng, libgd…). 10 commentaires Donner une note à l'article (5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Vous avez sûrement déjà été confronté à devoir installer GD pour PHP, Perl, Ruby… Pour certains langages comme PHP, la bibliothèque GD est déjà incorporée, mais pour Perl, Ruby… ce n'est pas le cas : des dépendances doivent être installées.

Pour exemple, essayons d'installer le module Perl GD sous Linux ou Mac OS en root sur un serveur n'ayant pas le nécessaire, voici le résultat que l'on obtient :

 
Sélectionnez
root#perl -MCPAN -e "install GD"
**UNRECOVERABLE ERROR** 
Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher. 
If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd. 
Warning: No success on command[/usr/bin/perl5.10.0 Makefile.PL] 
Warning (usually harmless): 'YAML' not installed, will not store persistent state 
  LDS/GD-2.46.tar.gz 
  /usr/bin/perl5.10.0 Makefile.PL -- NOT OK 
Running make test 
  Make had some problems, won't test 
Running make install 
  Make had some problems, won't install 
Could not read '/root/.cpan/build/GD-2.46-fMf3Dd/META.yml'. Falling back to other methods to determine prerequisites

On constate que l'installation du module est impossible car des dépendances sont nécessaires. Nous verrons dans cet article comment intégrer proprement.

II. Installation de GD sous Windows

Pour installer le module GD sous Windows, il suffit de procéder comme pour tout module Perl en recourant à l'utilitaire ppm(1). Il vous importera proprement tout ce qu'il faut. La commande à lancer est la suivante :

 
Sélectionnez
ppm install GD

Pour en savoir plus sur l'installation des modules Perl, lisez cette documentation : Installation des modules Perl CPAN.

III. Installation de GD sous Linux ou Mac OS

Comme je vous l'ai montré dans l'introduction de cet article, sous Linux et Mac OS, l'installation de GD ne fonctionnera probablement pas car il vous manquera certaines dépendances. À moins que vous utilisiez ActivePerl, ce qui est rare mais possible sous Linux/Unix, il va falloir compiler vous-même toutes les dépendances nécessaires. Pas de panique, cet article vous présentera toutes les commandes à lancer pour installer GD. Il va donc falloir recourir aux bibliothèques zlib, libjpeg, libpng, freetype2 et libgd. Puis nous installerons GD par la suite pour Perl.

Pour chaque bibliothèque, je vous mettrai le lien vers le site Web de cette dernière puis un lien vers les sources disponibles dans cet article, car il arrive que les liens Web deviennent obsolètes après plusieurs mois ou années. Pour pallier cela, les sources ont été mises sur le domaine de developpez.com.

III-A. Prérequis

Sans vouloir insister car ce n'est pas le but de cet article, toute installation et compilation sur une machine sous Linux/Mac OS nécessite d'avoir au préalable les utilitaires gcc, make… installés. Il vous faut également wget ou curl.

Pour savoir si ces utilitaires sont installés, lancez les commandes :
 
Sélectionnez
# whereis curl
curl: /usr/bin/curl /usr/bin/X11/curl /usr/share/man/man1/curl.1.gz
 
# whereis wget
wget: /usr/bin/wget /usr/bin/X11/wget /usr/share/man/man1/wget.1.gz
 
# whereis toto
toto:

III-B. zlib

zlib est une bibliothèque logicielle de compression de données. Elle implémente l'algorithme de compression deflate et peut créer des fichiers au format gzip.

Nous pouvons trouver toutes les versions de zlib sur le site officiel : http://www.zlib.net. À ce jour, la version la plus récente est la version 1.2.8. Une copie est disponible ici.

Voici les commandes d'installation sous root, de préférence dans le répertoire temporaire de notre système.

Zlib avec wget
Sélectionnez
mkdir -p /tmp/GD
cd /tmp/GD
wget  http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/zlib-1.2.8.tar.gz 
tar -xzvf ./zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
zlib avec curl
CacherSélectionnez

III-C. libpng

Le paquet libpng contient des bibliothèques utilisées par d'autres programmes pour lire et écrire des fichiers PNG.

Nous pouvons trouver toutes les versions de libpng sur le site : http://sourceforge.net/projects/libpng/. Une copie est disponible ici.

libpng avec wget
Sélectionnez
mkdir -p /tmp/GD
cd /tmp/GD
wget http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/libpng-1.6.2.tar.gz
tar -xzvf ./libpng-1.6.2.tar.gz
cd libpng-1.6.2
./configure
make
make install
libpng avec curl
CacherSélectionnez

III-D. Libjpeg

Le paquet libjpeg contient les bibliothèques JPEG. Elles permettent la compression de fichiers images basés sur le standard JPEG(2). Il s'agit d'un algorithme, avec perte de qualité.

Nous pouvons trouver toutes les versions de JPEG sur le site : http://freecode.com/projects/libjpeg. Une copie est disponible ici.

Sous Linux avec wget
Sélectionnez
mkdir -p /tmp/GD
cd /tmp/GD
wget http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/jpegsrc.v9.tar.gz
tar -xzvf ./jpegsrc.v9.tar.gz
cd jpeg-9
./configure
make
make install
Sous Linux avec curl
CacherSélectionnez
Sous Mac avec wget
Sélectionnez
mkdir -p /tmp/GD
cd /tmp/GD
wget http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/jpegsrc.v9.tar.gz
tar -xzvf ./jpegsrc.v9.tar.gz
cd jpeg-9
ln -s `which glibtool` ./libtool
export MACOSX_DEPLOYMENT_TARGET=10.4
./configure
make
make install
Sous Mac avec Curl
CacherSélectionnez

III-E. freetype2

Cette bibliothèque vous permet d'utiliser des polices TrueType sous Linux.

Nous pouvons trouver toutes les versions de freetype2 sur leur site.
Une copie est disponible ici.

freetype2 avec wget
Sélectionnez
mkdir -p /tmp/GD
cd /tmp/GD
wget http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/freetype-2.4.12.tar.gz
tar -xzvf freetype-2.4.12.tar.gz
cd freetype-2.4.12
./configure
make
make install
freetype2 avec curl
CacherSélectionnez

III-F. libgd

libgd est le nom d'une bibliothèque libre servant à manipuler des images dynamiquement. Nous pouvons trouver toutes les versions de libgd sur le site : http://libgd.bitbucket.org.
Une copie est disponible ici.

libgd avec wget
Sélectionnez
mkdir -p /tmp/GD
cd /tmp/GD
wget http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/libgd-2.1.0-rc1.tar.gz
tar -xvzf libgd-2.1.0-rc1.tar.gz
cd libgd-2.1.0-rc1
ln -s /usr/X11R6/include/fontconfig /usr/local/include
./configure
make
make install
Libgd avec curl
CacherSélectionnez

III-G. GD

Maintenant que toutes les bibliothèques nécessaires sont intégrées, nous pouvons installer notre module Perl GD en toute tranquillité de la sorte :

 
Sélectionnez
perl -MCPAN -e "install GD"
perl -MCPAN -e "install GD::Text"
perl -MGD -e "print $GD:VERSION"

À ce stade, les bibliothèques et le module GD sont installés et à jour. Vous pouvez maintenant utiliser et installer comme bon vous semble tout module Perl nécessitant GD et exécuter vos programmes.

III-H. Résumé

Pour vous simplifier la vie, voici un programme complet qui regroupe toutes les commandes de cet article pour une installation d'une traite sous l'utilisateur root !

Script complet d'installation : wget
TéléchargerCacherSélectionnez
Script d'installation complat : curl
TéléchargerCacherSélectionnez

Vous devez enregistrer ce programme dans un répertoire et lancer sous root le fichier de la façon suivante :

Avec wget
Sélectionnez
mkdir -p /tmp/GD && cd /tmp/GD
wget http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/installation-complete-wget.sh && sh installation-complete-wget.sh

Ou

Avec curl
Sélectionnez
mkdir -p /tmp/GD && cd /tmp/GD
curl -O http://djibril.developpez.com/tutoriels/perl/comment-installer-bibliotheque-gd/fichiers/installation-complete-curl.sh && sh installation-complete-curl.sh

IV. Conclusion

J'espère que cette documentation vous a aidé à installer facilement cette bibliothèque. Maintenant, il vous reste votre imagination pour concevoir des programmes révolutionnaires :-) !

V. Remerciements

Je tiens à remercier ClaudeLELOUP et _Max_ pour la relecture de cet article.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   


Perl Package Manager.
Joint Photographic Experts Group

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 djibril. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.