web-dev-qa-db-fra.com

Installer imagemagick sur le compte utilisateur

La version d'ImageMagick sur la machine que j'utilise est trop ancienne pour l'opération que j'essaie d'exécuter. Je n'ai pas de privilèges d'administrateur et le sysadmin ne mettra pas à niveau ImageMagick.

Comment installer une version plus récente d'ImageMagick sur mon propre compte?

Le processus que j'ai essayé était le suivant:

$ wget http://www.imagemagick.org/download/ImageMagick.tar.gz
$ tar xvzf ImageMagick.tar.gz
$ cd ImageMagick-6.8.8-10/
$ ./configure
$ make
$ make PREFIX=/home/josh/bin install
make  install-recursive
make[1]: Entering directory `/home/josh/ImageMagick-6.8.8-10'
Making install in .
make[2]: Entering directory `/home/josh/ImageMagick-6.8.8-10'
make[3]: Entering directory `/home/josh/ImageMagick-6.8.8-10'
 /bin/mkdir -p '/usr/local/lib'
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   magick/libMagickCore-6.Q16.la wand/libMagickWand-6.Q16.la Magick++/lib/libMagick++-6.Q16.la '/usr/local/lib'
libtool: install: /usr/bin/install -c magick/.libs/libMagickCore-6.Q16.so.2.0.0 /usr/local/lib/libMagickCore-6.Q16.so.2.0.0
/usr/bin/install: cannot create regular file `/usr/local/lib/libMagickCore-6.Q16.so.2.0.0': Permission denied
make[3]: *** [install-libLTLIBRARIES] Error 1
make[3]: Leaving directory `/home/josh/ImageMagick-6.8.8-10'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/josh/ImageMagick-6.8.8-10'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/josh/ImageMagick-6.8.8-10'
make: *** [install] Error 2
1
Josh

Vous devez essentiellement utiliser la variable d'environnement DESTDIR pour dire à make d'installer ImageMagick dans votre $HOME répertoire:

DESTDIR=/home/josh/ImageMagick make install

L'installation est terminée mais il y a une dernière étape à faire car par défaut, tous les binaires ImageMagick rechercheront les bibliothèques dans les chemins d'accès à l'échelle du système, ce qui donne ce genre d'erreurs:

./convert: error while loading shared libraries: libMagickCore-6.Q16.so.2: cannot open shared object file: No such file or directory

Pour contourner ce problème, préfixez simplement l'appel à l'un des programmes ImageMagick avec LD_LIBRARY_PATH=/home/josh/ImageMagick/usr/local/lib/, comme ça:

LD_LIBRARY_PATH=/home/josh/ImageMagick/usr/local/lib/ /home/josh/ImageMagick/usr/local/bin/convert -h
1
Sylvain Pineau