Instalando o imagemagick na conta do usuário

1

A versão do ImageMagick na máquina que estou usando é muito antiga para a operação que estou tentando executar. Eu não tenho privilégios de administrador e o sysadmin não atualizará o ImageMagick.

Como instalo uma versão mais nova do ImageMagick por conta própria?

O processo que tentei foi o seguinte:

$ 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
    
por Josh 10.04.2014 / 07:37

1 resposta

1

Você basicamente tem que usar a variável de ambiente DESTDIR para informar make para instalar ImageMagick no diretório $HOME :

DESTDIR=/home/josh/ImageMagick make install

A instalação está concluída, mas há uma etapa final a ser executada, pois, por padrão, todos os binários do ImageMagick procurarão bibliotecas em caminhos de todo o sistema, gerando esse tipo de erro:

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

Para contornar este problema, basta prefixar a chamada para um dos programas ImageMagick com LD_LIBRARY_PATH=/home/josh/ImageMagick/usr/local/lib/ , desta forma:

LD_LIBRARY_PATH=/home/josh/ImageMagick/usr/local/lib/ /home/josh/ImageMagick/usr/local/bin/convert -h
    
por Sylvain Pineau 10.04.2014 / 11:53