Ubuntu上编译OpenCV出现No rule to make target '/usr/lib/libpng.so' 错误

在Ubuntu 12.04上编译OpenCV 2.4.11时遇到"Too many levels of symbolic links"错误,涉及libpng.so。通过定位源文件并删除原有软链接,再创建新的软连接到/usr/lib/i386-linux-gnu/libpng.so解决问题。完成备份、清理、重新编译和安装后,编译成功。

【环境&版本】

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

成功~


【参考文章】

http://answers.opencv.org/question/41575/no-rule-to-make-target-usrliblibnvcuvidso-needed-by-liblibopencv_gpuso2/

http://blog.sina.com.cn/s/blog_6e00b3310101fh01.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值