ele*_*ect 8 compiling opengl libraries
所以,15.04 x64,刚刚安装。
我以旧方式(控制台,关闭 lightdm)安装了 nvidia 二进制文件,因为我遇到了关于 DRI2 身份验证的错误。
然后我想构建 nv opengl 样本,他们说这些是先决条件:
sudo apt-get install g++ binutils-gold xorg-dev libglu1-mesa-dev
Run Code Online (Sandbox Code Playgroud)
但是后来它抱怨 libGL.so 丢失了,所以我在谷歌上搜索我试图安装所有这些东西:
61 sudo apt-get install libgl1-mesa-dev
62 sudo apt-get autoremove
63 make
64 sudo apt-get install mesa-common-dev
65 sudo apt-get install freeglut3-dev freeglut3
66 make
67 sudo apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)
然后,我不知道如何,我最终得到了未安装的 nvidia 驱动程序!(中间还有一个 autoremove 包含一些 nv 的东西,也许这把一切都搞砸了)
无论如何,在再次重新安装 nv 二进制文件后,我尝试构建 vogl(一个 GL 调试工具),然后我又得到了
elect@elect-desktop:~/NetBeansProjects/vogl/vogl_build/release64$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_X64=On ../..
cmake options:
-DCMAKE_BUILD_TYPE='Release': Build debug or release. (Debug|Release)
-DVOGLTEST_LOAD_LIBVOGLTRACE='': glitest will load libvogltrace.so manually (don't implictly link against libgl.so). (On|Off)
-DVOGLTRACE_NO_PUBLIC_EXPORTS='OFF': Don't define any public GL exports in libvogltrace.so. (On|Off)
-DVOGL_ENABLE_ASSERTS='OFF': Enable assertions in all voglcore builds (including release). (On|Off)
-DCMAKE_VERBOSE='OFF': Spew cmake project options. (On|Off)
-DBUILD_X64='On': Build 32 or 64-bit. (On|Off)
-DWITH_ASAN='OFF': Build with Address sanitizer. (On|Off)
-DUSE_TELEMETRY='OFF': Build with Telemetry. (On|Off)
-DUSE_MALLOC='': Use system malloc (not STB Malloc). (On|Off)
Not forcing assertions to be enabled (VOGL_ENABLE_ASSERTS=FALSE)
libvogltrace.so will define GL/GLX public exports
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
The imported target "Qt5::Gui" references the file
"/usr/lib/x86_64-linux-gnu/libEGL.so"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:32 (_qt5_Gui_check_file_exists)
/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:54 (_qt5gui_find_extra_libs)
/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:158 (include)
/usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:100 (find_package)
/usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:26 (find_package)
src/vogleditor/CMakeLists.txt:14 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/elect/NetBeansProjects/vogl/vogl_build/release64/CMakeFiles/CMakeOutput.log".
See also "/home/elect/NetBeansProjects/vogl/vogl_build/release64/CMakeFiles/CMakeError.log".
elect@elect-desktop:~/NetBeansProjects/vogl/vogl_build/release64$ ls /usr/lib/x86_64-linux-gnu | grep -i libegl
libEGL.so
libEGL.so.1
libEGL.so.346.59
Run Code Online (Sandbox Code Playgroud)
怎么了,伙计们?
无论如何,让我总结一下这个故事..
$ ls /usr/lib/x86_64-linux-gnu | grep -i libegl
libEGL.so
libEGL.so.1
libEGL.so.346.59
ls -l /usr/lib/x86_64-linux-gnu/libEGL.so
lrwxrwxrwx 1 root root 18 mar 30 17:10 /usr/lib/x86_64-linux-gnu/libEGL.so -> mesa-egl/libEGL.so
Run Code Online (Sandbox Code Playgroud)
和
lrwxrwxrwx 1 root root 15 mar 30 17:10 /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so -> libEGL.so.1.0.0
Run Code Online (Sandbox Code Playgroud)
但我没有任何 libEGL.so.1.0.0..
所以看起来它是来自 mesa 和 nv 二进制文件的一团糟
我第三次安装了二进制文件,它工作了..
另一种可能的解决方案是 Angelo Geels 之一(在评论中):
sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so; sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17092 次 |
最近记录: |