安裝dirt時,遇到不少問題,其中有兩個問題。我這裏記錄一下,當做學習總結:
第一個問題:
出現問題:
安裝時出現了Cmake Error:Could NOT find OpenGL
定位問題:
但是使用ls -l /usr/lib*/*/*GL*
命令時,是有OpenGL庫的。
嘗試解決,並失敗
我之後google,安裝了
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libegl1-mesa-dev
但是沒啥效果,於是就查找其他原因。
再次定位問題:
後來發現是Opengl的庫,並沒有鏈接到指定到nvidia,
解決問題:
於是我創建了軟鏈接。
ln -s /home/jiangcm/usr/local/libglvnd/src/EGL/.libs/libEGL.so /usr/lib/x86_64-linux-gnu/
sudo ln -s /home/jiangcm/usr/local/libglvnd/src/EGL/.libs/libEGL.so.1 /usr/lib/x86_64-linux-gnu/
sudo ln -s /home/jiangcm/usr/local/libglvnd/src/EGL/.libs/libEGL.so.1.1.0 /usr/lib/x86_64-linux-gnu/
之後解決了這個問題。
安裝成功,但是也僅僅是開始。。。
第二個問題:
出現問題:
之後利用python tests/square_test.py
,出現如下問題:
none of 2 egl devices matches the active cuda device
定位問題:
後來通過ldd dirt/librasterise.so
命令,定位問題:發現librasterise.so
的依賴項libEGL.so.1 => /usr/local/lib/x86_64-linux-gnu/libEGL.so.1
不在/usr/lib
目錄下,而是在/usr/local/lib
中。
解決問題:
所以添加了如下命令export CMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu
,最終安裝成功。