Amazon Linux 2编译ImageMagick启用webp支持时无法识别源码安装的libwebp
ImageMagick 编译时识别源码安装高版本libwebp的解决方案
问题核心是Amazon Linux 2默认的pkgconfig搜索路径、头文件与库文件搜索路径不包含/usr/local相关目录,导致ImageMagick的configure脚本无法读取你手动编译安装的libwebp 1.1.0的版本信息,可按以下步骤操作:
- 首先清理系统自带的低版本libwebp,避免冲突
sudo yum remove libwebp -y
- 确认libwebp的pkgconfig配置文件存在
执行以下命令检查你手动安装的libwebp是否生成了对应的pkgconfig文件:
ls /usr/local/lib/pkgconfig | grep libwebp.pc
如果没有输出,重新走一遍你之前的libwebp编译安装流程即可。
- 编译ImageMagick前导入环境变量,指定自定义库的搜索路径
进入ImageMagick源码目录后,先执行以下命令导入环境变量:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH export LDFLAGS="-L/usr/local/lib $LDFLAGS" export CPPFLAGS="-I/usr/local/include $CPPFLAGS"
- 再执行configure命令即可正常识别libwebp
sudo ./configure --with-webp=yes
执行完后先看输出中WEBP对应的选项值是否为yes,确认没问题后再执行后续的make和make install操作。
- 后续适配配置(针对PHP启用webp支持的场景)
- 安装完ImageMagick后执行以下命令刷新动态库缓存:
echo "/usr/local/lib" > /etc/ld.so.conf.d/usrlocallib.conf sudo ldconfig
- 重新编译PHP的imagick扩展,让扩展关联新的支持webp的ImageMagick库。
内容的提问来源于stack exchange,提问作者andrew hutchings
相关产品推荐
相关产品推荐

