Версия ImageMagick на машине, которую я использую, слишком стара для операции, которую я пытаюсь выполнить. У меня нет административных привилегий, и системный администратор не обновит ImageMagick.
Как я устанавливаю более новую версию ImageMagick на моей собственной учетной записи?
Процесс, который я попробовал, был следующие:
$ 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
В основном необходимо использовать DESTDIR
переменная среды, чтобы сказать make
устанавливать ImageMagick в Ваш $HOME
каталог:
DESTDIR=/home/josh/ImageMagick make install
Установка сделана, но существует один заключительный шаг, чтобы сделать, потому что по умолчанию весь двоичные файлы ImageMagick будут искать библиотеки в путях в масштабе всей системы, давая этот вид ошибок:
./convert: error while loading shared libraries: libMagickCore-6.Q16.so.2: cannot open shared object file: No such file or directory
Для работы вокруг этой проблемы просто снабдите префиксом вызов к одному из программа ImageMagick с LD_LIBRARY_PATH=/home/josh/ImageMagick/usr/local/lib/
, как это:
LD_LIBRARY_PATH=/home/josh/ImageMagick/usr/local/lib/ /home/josh/ImageMagick/usr/local/bin/convert -h