我使用的机器上的 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
答案1
你基本上必须使用DESTDIR
环境变量来告诉make
安装图像魔术师进入你的$HOME
目录:
DESTDIR=/home/josh/ImageMagick make install
安装已完成,但还有最后一步要做,因为默认情况下图像魔术师二进制文件将在系统范围的路径中查找库,从而出现以下错误:
./convert: error while loading shared libraries: libMagickCore-6.Q16.so.2: cannot open shared object file: No such file or directory
要解决这个问题,只需将调用前缀添加到图像魔术师用 编程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