安装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
,最终安装成功。