我一直在尝试在我的Ubuntu 14.04上安装VTK。由于找不到OpenGL,我在设置配置方面遇到了一些麻烦,但是我(想到我)通过使用
解决了这个问题。sudo apt-get install freeglut3-dev
和
sudo apt-get install build-essential
正如this问题中所建议的那样。但是,现在我无法运行make
,因为libGL.so的路径不正确。我一直在寻找和寻找各种奇怪的解决方案,但似乎无法理解它们中的任何一个,我想知道我在做什么之前我在终端输入奇怪的命令。以下是一些想法:
当我输入“locate libGL.so”时,我得到以下内容:
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
这里的问题是它是从台面上获取的吗?那些是悬挂的符号链接,如here所解释的那样?在哪种情况下,我该如何删除它们?只是?我不知道如何验证我肯定不需要这些链接,我宁愿不删除任何重要的东西。
或者问题与最后的.so.1
有关,而不仅仅是.so
?或两者兼而有之?
另一个想法: 在this网站上,有人建议使用
sudo ln -s -f -i /usr/lib/libGL.so.1.2 /usr/lib/x86_64-linux-gnu/libGL.so
我认为在我的情况下会是
sudo ln -s -f -i /usr/lib/libGL.so /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
正确?但无论如何,我无法在其他任何地方找到这种方法,并且他们没有给出任何理由或解释,所以我有点不愿意使用它,因为我真的不明白我会做什么。
还有一点需要注意:如果我输入ccmake .
并转到标有“OPENGL_gl_LIBRARY”和“OPENGL_glu_LIBRARY”的部分,则路径(分别)为/usr/lib/libGL
和/usr/lib/x86_64-linux-gnu/libGLU.so
。
所以也许另一个解决方案就是用台面路径替换那些 - 但是,似乎我可能不得不一遍又一遍地做这个,因为如果我没有弄错的话,台面不应该是默认的 - - 所以我不知道这是否是最佳解决方案。
答案 0 :(得分:0)
当我输入“locate libGL.so”时,我得到以下内容:
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
这就是他们所属的地方。一切都井然有序。
这里的问题是它是从台面获得的吗
没有
这些是悬挂的符号链接,如下所述?
没有
在哪种情况下,如何删除它们?
不要!
只是rm?
你为什么这样做?这些是您系统中必不可少的库。
或者问题与.so.1有关,而不仅仅是.so?或两者兼而有之?
没有。那些属于那里,你应该阅读sonames
如果您可以运行OpenGL程序,则libGL.so
已正确安装。最可能的原因是,CMake FindOpenGL模块没有查找libGL.so
的所有链接器缓存目录(但我会对此感到惊讶)。我首先正确安装OpenGL开发包(libgl1-mesa-dev
),然后再试一次。如果这还不够,你可以创建一个符号链接/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 → /usr/lib/libGL.so
(但这应该是最后的选择)。