【问题标题】:Missing recommended library: libGLU.so缺少推荐的库:libGLU.so
【发布时间】:2014-04-17 03:12:20
【问题描述】:

我正在尝试安装NVIDIA CUDA。安装工具包时,显示如下错误信息。

Missing recommended library: libGLU.so
Missing recommended library: libXi.so
Missing recommended library: libXmu.so

我不是Linux人,所以我用apt-get install libGLU.so来安装它,但它不起作用。我该如何解决这个问题并安装这些?我在 32 位 Linux 上。

【问题讨论】:

  • 对于亲密的选民:如果你们中的“任何”是安装 libGLU 的英雄,那么请先告诉它。
  • 如果我的回答对你有用,可能会接受? :)

标签: linux ubuntu cuda gpu


【解决方案1】:

可能对其他用户使用 yum 有所帮助: 在 cuda-10.0 中为我工作:

sudo yum install mesa-libGLU-devel mesa-libGL-devel libXmu-devel.i686 libXi-devel.i686

【讨论】:

    【解决方案2】:

    我遇到了同样的错误。我试过sudo apt-get install libglu1-mesa,它成功了。

    【讨论】:

      【解决方案3】:

      根据这个答案https://stackoverflow.com/a/42428296/3425200 , 安装完库后,你应该设置环境为:

      GLPATH=/usr/lib make
      

      而不是制造。

      【讨论】:

        【解决方案4】:

        我使用 nvidia-docker 搭建了一个 CUDA 开发环境,也遇到了同样的问题。所以我尝试解决这个问题并写下一个 Dockerfile。还添加了一些有用的cmets,希望对你有帮助。

        这是我的 Dockerfile:

        https://github.com/allenyllee/server_setup/blob/master/nvidia_docker/Dockerfile

        # CUDA 8.0
        #
        # VERSION               0.0.1
        
        FROM      nvidia/cuda:8.0-devel-ubuntu16.04
        LABEL     maintainer="allen7575@gmail.com"
        
        ##
        ## Ubuntu - Packages - Search
        ## https://packages.ubuntu.com/search?suite=xenial&section=all&arch=amd64&searchon=contents&keywords=Search
        ##
        
        ###
        ### solve for
        ### >>> WARNING - libGL.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. <<<
        ### >>> WARNING - Xlib.h not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
        ### >>> WARNING - gl.h not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
        ###
        ### 2_Graphics/volumeFiltering
        ### 2_Graphics/simpleGL
        ### 2_Graphics/bindlessTexture
        ### 2_Graphics/volumeRender
        ### 2_Graphics/Mandelbrot
        ### 2_Graphics/marchingCubes
        ### 2_Graphics/simpleTexture3D
        ### 3_Imaging/imageDenoising
        ### 3_Imaging/recursiveGaussian
        ### 3_Imaging/simpleCUDA2GL
        ### 3_Imaging/postProcessGL
        ### 3_Imaging/bicubicTexture
        ### 3_Imaging/boxFilter
        ### 3_Imaging/SobelFilter
        ### 3_Imaging/cudaDecodeGL
        ### 3_Imaging/bilateralFilter
        ### 5_Simulations/particles
        ### 5_Simulations/smokeParticles
        ### 5_Simulations/oceanFFT
        ### 5_Simulations/fluidsGL
        ### 5_Simulations/nbody
        ### 6_Advanced/FunctionPointers
        ### 7_CUDALibraries/randomFog
        ###
        RUN apt update && apt -y install libgl1-mesa-dev
        
        ###
        ### solve for
        ### >>> WARNING - libGLU.so not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
        ### >>> WARNING - glu.h not found, refer to CUDA Getting Started Guide for how to find and install them. <<<
        ### 
        RUN apt update && apt -y install libglu1-mesa-dev
        
        ###
        ### solve for
        ### /usr/bin/ld: cannot find -lglut
        ### https://stackoverflow.com/questions/15064159/usr-bin-ld-cannot-find-lglut
        ###
        RUN apt update && apt -y install freeglut3-dev
        
        ### 
        ### solve for
        ### >>> WARNING - egl.h not found, please install egl.h <<<
        ### >>> WARNING - eglext.h not found, please install eglext.h <<<
        ### >>> WARNING - gl31.h not found, please install gl31.h <<<
        ###
        ### 2_Graphics/simpleGLES_EGLOutput
        ### 2_Graphics/simpleGLES
        ### 2_Graphics/simpleGLES_screen
        ### 5_Simulations/nbody_opengles
        ### 5_Simulations/fluidsGLES
        ### 5_Simulations/nbody_screen
        ###
        RUN apt update && apt -y install libgles2-mesa-dev
        
        
        ###
        ### You should also search 'UBUNTU_PKG_NAME = "nvidia-367"' and replace it to 'UBUNTU_PKG_NAME = "nvidia"' 
        ### for all matched files in the NVIDIA_CUDA-8.0_Samples folder to make it works.
        ###
        RUN mkdir /usr/lib/nvidia && \
            ### solve for  /usr/bin/ld: cannot find -lnvcuvid \
            ### 3_Imaging/cudaDecodeGL \
            ln -s /usr/local/nvidia/lib64/libnvcuvid.so.1 /usr/lib/nvidia/libnvcuvid.so && \
            ### solve for >>> WARNING - libEGL.so not found, please install libEGL.so <<< \
            ### 3_Imaging/EGLStreams_CUDA_Interop \
            ln -s /usr/local/nvidia/lib64/libEGL.so.1 /usr/lib/nvidia/libEGL.so && \
            ### solve for >>> WARNING - libGLES.so not found, please install libGLES.so <<< \
            ### 2_Graphics/simpleGLES_EGLOutput \
            ### 2_Graphics/simpleGLES \
            ### 2_Graphics/simpleGLES_screen \
            ### 5_Simulations/nbody_opengles \
            ### 5_Simulations/fluidsGLES \
            ### 5_Simulations/nbody_screen \
            ln -s /usr/local/nvidia/lib64/libGLESv2_nvidia.so.2 /usr/lib/nvidia/libGLESv2.so
        
        
        CMD    ["bash"]
        

        【讨论】:

          【解决方案5】:

          试试apt-get install libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev。您可以通过searching the Ubuntu package contents自己找到此信息。

          【讨论】:

          • 感谢您的回复。 libGLU 还没有,其他的都安装好了,
          • libglu1-mesa 安装可能没有设置必要的符号链接。可能需要这样的东西:sudo ln -s /usr/lib/libGLU.so.1 /usr/lib/libGLU.so 但是,目录可能略有不同,例如/usr/lib32 而不是/usr/lib。因此,了解什么是符号链接 (man ln),然后四处寻找,看看是否可以找到 libglu1-mesalibGLU.so.1 文件放在哪里,然后相应地使用该路径。
          • 我检查了 /usr/lib 和 /usr/lib32。找不到。
          • @RobertCrovella 我建议改为find / -name 'libGLU*'
          • sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1 /usr/lib/libGLU.so 在 Ubuntu 14.04 上完成了这项工作。而且,在那之后我做了sudo ldconfig
          【解决方案6】:

          上述3rd第三方库安装完成后,如果遇到这样的情况再次运行NVIDIA驱动安装也无妨:

          /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../libGL.so when searching for -lGL/usr/bin/ld: skipping incompatible /lib/libGL.so when searching for -lGL
          /usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
          /usr/bin/ld: cannot find -lGL
          collect2: error: ld returned 1 exit status
          make: *** [simpleGL] Error 1
          

          这是因为一些符号链接被安装破坏了。这是带有 CentOS 7 的 CUDA 7。 https://www-947.ibm.com/support/entry/portal/docdisplay?lndocid=migr-5094265

          【讨论】:

            猜你喜欢
            • 2016-04-09
            • 1970-01-01
            • 2013-10-03
            • 1970-01-01
            • 2021-11-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-20
            相关资源
            最近更新 更多