【原創文章】轉載請注明來源: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