首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缺少libGL.so libGLU.so和libX11.so

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

Stack Overflow用户
提问于 2016-01-05 17:03:31
回答 3查看 9.7K关注 0票数 9

这是人们一直遇到的标准问题,但我无法让它开始工作。我在LinuxMint17.3上,通过repo完成了安装。当我试图编译5_Simulations目录(真的,fluidsGL)时,我会得到以下错误:

代码语言:javascript
运行
复制
>>> 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. <<<

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

代码语言:javascript
运行
复制
[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

即使是与/usr/lib/lib的符号链接,与nvidia-352版本的链接也不起作用。有谁有过这个问题吗?我尽量不把电脑搞砸,因为当我开始搞这种东西的时候,我突然遇到了司机不工作的问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-07 06:50:58

Linux不是官方支持的CUDA发行版。因此,您使用的CUDA安装方法(在本例中是驱动程序安装部分)可能是将必要的GL库放置在makefile无法找到的地方。

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

代码语言:javascript
运行
复制
ifeq ("$(UBUNTU)","0")
  ifeq ...
  ...
  else
    GLPATH    ?= /usr/lib/$(UBUNTU_PKG_NAME)
    GLLINK    ?= -L/usr/lib/$(UBUNTU_PKG_NAME)
    DFLT_PATH ?= /usr/lib

鉴于此:

  1. 您已经说明,似乎安装了GL库。
  2. 您已经将这些库符号链接到/usr/lib目录中
  3. .mk文件中的GLPATH定义是一个“非覆盖”定义(即?=)。

我们可以“覆盖”或用/usr/lib中的“已知好”替换由makefile编写的GLPATH定义,其中之一是:

代码语言:javascript
运行
复制
GLPATH=/usr/lib

添加到您的make命令中。

票数 11
EN

Stack Overflow用户

发布于 2017-07-27 08:55:51

我也遇到了同样的问题,我尝试了所有这些,包括驱动程序安装,但是当我看到makefile(.mk)时,有指定的图形驱动程序版本,它在我使用Zorin时检查OS发行名,比如(Ubuntu,fedora等等),所以它无法找到分配给变量的路径。因此,在矿工进行更改后,它成功地运行。希望能帮上忙。

这些变化是:

//不管你有什么版本

代码语言:javascript
运行
复制
UBUNTU_PKG_NAME = "nvidia-375"

//在此列表中添加发行版名称

代码语言:javascript
运行
复制
 ifeq (,$(filter $(DISTRO),ubuntu zorin fedora red rhel centos suse))
   DISTRO = 
 endif

//为特定发行版添加一行

代码语言:javascript
运行
复制
ZORIN = $(shell echo $(DISTRO) | grep -i zorin      >/dev/null 2>&1; echo $$?)

//复制和粘贴相同的代码,如果需要,在指定发行版的文件中包含ubuntu代码

代码语言:javascript
运行
复制
ifeq ("$(ZORIN)","0")
  ifeq ($(HOST_ARCH)-$(TARGET_ARCH),x86_64-armv7l)
    GLPATH := /usr/arm-linux-gnueabihf/lib
    GLLINK := -L/usr/arm-linux-gnueabihf/lib
    ifneq ($(TARGET_FS),) 
      GLPATH += $(TARGET_FS)/usr/lib/$(UBUNTU_PKG_NAME)
      GLPATH += $(TARGET_FS)/usr/lib/arm-linux-gnueabihf
      GLLINK += -L$(TARGET_FS)/usr/lib/$(UBUNTU_PKG_NAME)
      GLLINK += -L$(TARGET_FS)/usr/lib/arm-linux-gnueabihf
    endif 
  else ifeq ($(HOST_ARCH)-$(TARGET_ARCH),x86_64-ppc64le)
    GLPATH := /usr/powerpc64le-linux-gnu/lib
    GLLINK := -L/usr/powerpc64le-linux-gnu/lib
  else
    GLPATH    ?= /usr/lib/$(UBUNTU_PKG_NAME)
    GLLINK    ?= -L/usr/lib/$(UBUNTU_PKG_NAME)
    DFLT_PATH ?= /usr/lib
  endif
endif
票数 0
EN

Stack Overflow用户

发布于 2020-03-28 07:42:45

对于普通Debian,您可能需要使用以下内容:

代码语言:javascript
运行
复制
…
SUSE   = $(shell echo $(DISTRO) | grep -i 'suse\|sles' >/dev/null 2>&1; echo $$?)
DEBIAN = $(shell echo $(DISTRO) | grep -i debian       >/dev/null 2>&1; echo $$?)

ifeq ("$(UBUNTU)","0")
…
代码语言:javascript
运行
复制
…
ifeq ("$(CENTOS)","0")
  GLPATH    ?= /usr/lib64/nvidia
  GLLINK    ?= -L/usr/lib64/nvidia
  DFLT_PATH ?= /usr/lib64
endif
ifeq ("$(DEBIAN)","0")
  GLPATH    ?= /usr/lib/x86_64-linux-gnu
  GLLINK    ?= -L/usr/lib/x86_64-linux-gnu
  DFLT_PATH ?= /usr/lib64
endif

# find libGL, libGLU 
…

在您的cuda-samples/common/findgllib.mk中,然后输入cuda-samples并执行for f in $(find ?_* -name findgllib.mk); do cp -bv common/findgllib.mk $f; done来对每个GL示例使用该文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34617236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档