centos安装GraphicsMagick运行报错

发布于 2020-10-23  485 次阅读


安装过程省略....

安装完毕使用gm命令时提示:

gm: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such fi...

出现以上问题,需要安装libpng依赖,可以去这个地址下载该依赖库

wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/delegates/libpng-1.6.37.tar.gz

下载好之后直接运行 ./configure && make && make install

运行完毕之后执行以下代码即可

echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig

如果安装完了使用gm -version命令发现不支持 jpeg和png图片格式的话,可以安装以下jpeg和png的依赖再编译安装一次即可

 yum install -y libpng-devel libpng
 yum install -y  libjpeg-devel libjpeg
 yum -y install libjpeg libjpeg-devel libpng libpng-devel giflib 
 giflib-devel freetype freetype-devel

./configure --prefix=/usr/local/GraphicsMagick-1.3.28 --with-quantum-depth=8 --enable-shared --enable-static
make && make install

GraphicsMagick Wrong JPEG library version: library is 62, caller expects 90 出现以上错误代表系统安装了两个库,一个62和一个90的,只需要去掉一个库重新编译即可

比如只用static

./configure --enable-shared=no --enable-static=yes
make && make install

并且删除掉相关掉依赖库

ls -lh | grep libjpeg.so
rm -f libjpeg.so libjpeg.so.62

如果删除掉了,并且yum安装掉jpeg无法被GraphicsMagick识别到,那么我们需要自己安装jpeg到依赖库

进入 http://ijg.org/下载最新的jpeg依赖然后解压

进入解压出来的文件夹执行./configure && make && make install

cd /usr/lib64
ln -s /usr/local/lib/libjpeg.so.9.4.0 /usr/lib64/libjpeg.so
ln -s /usr/local/lib/libjpeg.so.9.4.0 /usr/lib64/libjpeg.so.9
ln -s /usr/local/lib/libjpeg.so.9.4.0 /usr/lib64/libjpeg.so.9.4.0

以上操作执行完再编译安装一次GraphicsMagick即可


一个逐渐被时间遗忘掉的人