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
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