【原创文章】转载请注明来源:https://www.cnblogs.com/qiushanju/p/12495414.html
【问题描述】
在编译VTK时,报错:No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so'
【参考原文】
https://github.com/RobotLocomotion/drake/issues/2087
【原因】
/usr/lib/x86_64-linux-gnu/libGL.so这个软链接指向/usr/lib/x86_64-linux-gnu/mesa/libGL.so,进一步指向/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0, 而/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0这个文件并不存在
通过命令查找
$ sudo find / -iname “*libGL.so.1.2.0*”
发现/snap/cloudcompare/200/user/lib/x86_64-linux-gnu/mesa/libGL.so.1和/snap/cloudcompare/200/user/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0两个文件,猜测是丢失的链接库,加上链接之后,问题解决。
【解决方案】
$ sudo rm /usr/lib/x86_64-linux-gnu/mesa/libGL.so
$ sudo ln -s /snap/cloudcompare/200/user/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/x86_64-linux-gnu/mesa/libGL.so