CUDA缺少libGL.so libGLU.so和libX11.so

Nuc*_*ist 5 opengl cuda linux-mint

这是人们遇到的标准问题,但我无法让它发挥作用.我在Linux Mint 17.3上并通过repo进行安装.当我尝试编译5_Simulations目录(实际上是fluidsGL)时,我收到以下错误:

>>> WARNING - libGL.so not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
>>> WARNING - libGLU.so not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
>>> WARNING - libX11.so not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
Run Code Online (Sandbox Code Playgroud)

但是,这些确实存在于系统中,例如:

[name@host: fluidsGL]$ locate libGL.so
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/nvidia-352/libGL.so
/usr/lib/nvidia-352/libGL.so.1
/usr/lib/nvidia-352/libGL.so.352.68
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib32/nvidia-352/libGL.so
/usr/lib32/nvidia-352/libGL.so.1
/usr/lib32/nvidia-352/libGL.so.352.6
Run Code Online (Sandbox Code Playgroud)

即使使用nvidia-352版本与/usr/lib/libGL.so进行符号链接也不起作用.有没有人有这个特殊问题?我正试图搞砸计算机,因为当我开始搞乱这种东西时,我遇到了司机突然无法工作的问题.

Rob*_*lla 9

Linux Mint不是官方支持的CUDA发行版.因此,您正在使用的CUDA安装方法(在本例中为驱动程序安装部分)可能会将必要的GL库放在makefile未配备的位置.

如果您findgllib.mk在构建目录中研究makefile"helper"文件,我怀疑基于debian的分发将遵循该文件中的UBUNTU路径.mk.对于非ppc和非arm分支,您将找到如下定义:

ifeq ("$(UBUNTU)","0")
  ifeq ...
  ...
  else
    GLPATH    ?= /usr/lib/$(UBUNTU_PKG_NAME)
    GLLINK    ?= -L/usr/lib/$(UBUNTU_PKG_NAME)
    DFLT_PATH ?= /usr/lib
Run Code Online (Sandbox Code Playgroud)

鉴于:

  1. 您已声明GL库似乎已安装.
  2. 您已将这些库符号链接到/ usr/lib目录中
  3. .mk文件中的GLPATH定义是"非覆盖"定义(即?=)

我们可以"覆盖"或替换由makefile编写的GLPATH定义,其中包含以下"已知好"之一/usr/lib:

GLPATH=/usr/lib
Run Code Online (Sandbox Code Playgroud)

在你的make命令前面.