我无法编译一个简单的示例,“没有规则来制作目标'/usr/lib/x86_64-linux-gnu/libGL.so'

我无法编译一个简单的示例,“没有规则来制作目标'/usr/lib/x86_64-linux-gnu/libGL.so'

该计划是这个

说明非常简单cmake .make

elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ cmake .
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- Using X11 for window creation
-- Using GLX for context creation
CMake Warning at lib/glfw-3.1.1/CMakeLists.txt:403 (message):
  No glXGetProcAddressXXX variant found


-- Configuring done
-- Generating done
-- Build files have been written to: /home/elect/NetBeansProjects/Partikel_accelleration_on_GPU
elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ make
[ 22%] Built target glfw
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so', needed by 'bin/particleSim'.  Stop.
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/particleSim.dir/all' failed
make[1]: *** [CMakeFiles/particleSim.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

如果我查询库

elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ dpkg-query -S /usr/lib/x86_64-linux-gnu/libGL.so
libgl1-mesa-dev:amd64: /usr/lib/x86_64-linux-gnu/libGL.so

但它已经安装:

elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ sudo apt-get install libgl1-mesa-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgl1-mesa-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Afind返回以下内容:

elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ sudo find / -name libGL.so
/home/elect/Downloads/gl-graphics-compute-samples-linux-2.11/extensions/externals/lib/linux-arm32/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so

据我所知,我应该有类似的东西libGL.so.290.10,应该是真正的库,所有其他的都应该只是链接。

我对吗?

有什么问题?

Ubuntu 15.10 x64,GTX 680

编辑:

elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ ls -l /usr/lib/x86_64-linux-gnu/libGL.so
lrwxrwxrwx 1 root root 13 ott  9 07:16 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so


elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ file -sL /usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so: cannot open `/usr/lib/x86_64-linux-gnu/libGL.so' (No such file or directory)

elect@elect-desktop:~/NetBeansProjects/Partikel_accelleration_on_GPU$ readlink -f /usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0

我试图在终止窗口管理器后立即更新 nvidia 驱动程序

sudo service lightdm stop

系统冻结了,我必须手动硬重启。

尝试以安全模式启动,我放弃了根控制台,但/tmp由于我是根用户,因此 nvidia 安装无法写入...

有想法吗?

编辑:

elect@elect-desktop:~$ ls -l /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
ls: cannot access /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0: No such file or directory

答案1

解决了:

  • 以安全模式启动

  • 选择修复包,使其自动以读/写方式挂载文件系统

  • 删除根控制台

  • su elect以我的身份登录

  • cd Downloadssudo bash .NVIDIA-driver

  • 重启

  • 它很有魅力

相关内容