따라서 15.04 x64가 방금 설치되었습니다.
DRI2 인증에 대한 오류가 발생했기 때문에 기존 방식(콘솔, lightdm 끄기)으로 nvidia 바이너리를 설치했습니다.
그런 다음 nv OpenGL 샘플을 만들고 싶었고 이것이 전제 조건이라고 말했습니다.
sudo apt-get install g++ binutils-gold xorg-dev libglu1-mesa-dev
그러나 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
그리고 어떻게 엔비디아 드라이버가 제거되었는지 모르겠습니다! (중간에 일부 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
무슨 일이야?
답변1
아무튼 이야기를 요약하자면..
$ 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
그리고
lrwxrwxrwx 1 root root 15 mar 30 17:10 /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so -> libEGL.so.1.0.0
하지만 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