安装Caffe遇libpng链接错误,求解configure文件位置及对应操作
解决Caffe编译时libpng/zlib符号未定义问题
首先,你提到的./configure --prefix=/usr/local/是zlib的编译配置脚本,这个错误的根源就是zlib版本不匹配:你的系统默认zlib版本低于1.2.9,而Anaconda环境里的libpng依赖了zlib 1.2.9新增的inflateValidate函数,导致编译Caffe时链接失败。
关于configure的位置和所属程序:
- 这个
configure属于zlib源码包,你需要先下载zlib 1.2.9或更高版本的源码压缩包,解压后,configure文件就在解压后的zlib源码根目录里。 - 如果你之前已经下载过zlib源码,直接找到你当时解压的文件夹,里面就能看到这个脚本。
完整的修复步骤:
- 下载zlib 1.2.9及以上版本的源码,解压到本地任意目录(比如
~/zlib-1.2.13) - 进入解压后的zlib目录:
cd ~/zlib-1.2.13 - 执行配置命令:
./configure --prefix=/usr/local/ - 编译并安装高版本zlib:
make sudo make install - 回到Caffe的源码目录,清理之前的编译缓存后重新编译:
make clean make all
这样做的原因是:将高版本zlib安装到系统的/usr/local目录后,Caffe编译时会优先使用这个新版本的zlib库,匹配Anaconda里libpng的依赖需求,从而解决inflateValidate@ZLIB_1.2.9未定义的链接错误。
内容的提问来源于stack exchange,提问作者Hype Totec
相关产品推荐
相关产品推荐

