【环境&版本】
Ubuntu 12.04
OpenCV 2.4.11
【问题描述】
$cmake .
$sudo make
编译到23%的时候,出现错误“Too many levels of symbolic links”,对象是libpng.so
【问题解决】
网上搜了一下,所有的答案都是说软连接出了问题,需要用绝对路径重新建立软连接,我用 ls 查看 /usr/lib/libpng.so,果然也是提示同样的“Too many levels of symbolic links”错误
$locate libpng.so // 首先定位一下源文件在什么地方
打印出如下两个:
/usr/lib/libpng.so
/usr/lib/i386-linux-gnu/libpng.so
所以第二个应该就是源文件了
$sudo mv /usr/lib/libpng.so /usr/lib/libpng_bk.so // 先做一下备份
$sudo ln -s /usr/lib/i386-linux-gnu/libpng.so /usr/lib/ // 重新建立一个软连接
然后再次用 ls 查看/usr/lib/libpng.so,发现已经不提示错误了,结果呈现蓝绿色,用ls -l命令会显示软连接信息/usr/lib/libpng.so -> /usr/lib/i386-linux-gnu/libpng.so
回到opencv-2.4.11解压目录,
$make clean
$sudo make
$sudo make install
成功。