一、问题现象
从GCC4切换到GCC8,重新编译magick库,在编译过程中却出现依赖库不合要求的问题、比如下面的libpng库突然check不通过,编译出来的magick里没有png库,咋一看提示似乎是版本库不兼容了,之前可以work的编译脚本“突然”失灵了。but my god!这是在源码编译,而且libpng库源码是1.6,理论上不应该出现这种问题,最多出现语法不兼容这类问题。
二、原因追查
在一脸懵逼中,打开主编译的makefile文件一看究竟,也没发现有什么问题,由于有一段时间没有搞C代码的编译了,之前对于makefile文件残留的主要是印象,只好花时间再次收集make相关的资料重温一遍,刚开始认为主makefile没有什么明显的问题,这么个认知埋下了折腾的种子。
(1)接着以png库编译问题为线索,开始追查,先是对png库源代码库进行check,版本ok,手动编译也ok,见鬼了,难道真的是GCC8抽风了,有点认知“颠覆”的错觉,只好clean编译产出,重新编译主makefile试了几把,发现还是不行!
(2)费解中,觉得还是扎扎实实找找日志看看细节,先重定向收集主makefile编译的日志,有点费劲,遂放弃。直入主题,既然是magick不能编入png库,那就看看为啥不能编入ÿ