centos系统,libpng如何通过源码编译安装?
发布于 作者:苏南大叔 来源:程序如此灵动~
在centos的世界里面,直接使用yum是最正确的选择。但是,本文中却没有选择yum。主要基于以下考虑:pngquant提示libpng已经更新到1.6.1了,但是yum上安装的libpng-devel版本号是1.5.13。

本文测试环境:centos@7.7.1908,libpng@1.6.37。注意,这里先阐述苏南大叔的观点:如果您不是非要安装最新版本的libpng的话,请使用yum install,简单靠谱。
本文似乎弄混了libpng和libpng-devel的区别,大家请无视相关言论。哈哈~~
下载源码
libpng的官方网站是:

截至到发稿,最新的libpng@1.6.37源码下载地址是:

安装编译
在编译安装libpng之前,可能需要先卸载掉以前的相关版本,例如:
yum remove libpng-devel或者安装libpng-devel。
yum install libpng-devel删除libpng-devel之后,可能会影响其它软件的使用,报错找不到libpng.so.5文件。libpng-devel应该存放的是编译所使用的.so文件的。
和很多其它的开源软件一样,编译安装libpng的画,也需要先给个写权限,否则后续编译命令是不能继续执行的。
sudo chmod -R 777 ./
然后执行编译命令,当然编译命令也是非常常规的命令。编译的命令如下:
./configure
make
make install安装完成后,libpng就被安装到lib目录下面了。当然,对于苏南大叔这边的需求来说,后续工作就是去让pngquant去识别最新的libpng了。
注意事项
- 本文只适合于
libpng-devel安装到的版本,并不是最新的版本时。随着时间的流逝,这个问题肯定会被修正的。所以,本文不一定是你最好的选择。 - 安装新版本
libpng之前,最好先卸载历史版本。否则可能会相互影响,导致找不到.so文件之类的奇怪错误发生。
这里有个命令,可以给出些许选择时机的建议。
yum provides libpng
相关链接
总结
pngquant正常工具依赖于libpng,而且在使用的时候会去检测libpng的最新版本号。所以,如何安装到最新版本的libpng就是个值得研究的话题。
更多文章,请点击苏南大叔的博客链接: