我正在尝试安装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上。
试试apt-get install libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev
。 你可以通过搜索Ubuntu包的内容来找到这个信息。
我使用nvidia-docker来设置CUDA开发环境,也遇到同样的问题。 所以我试图解决这个问题,并写下一个Dockerfile。 还加入一些有用的评论,希望它会有帮助。
这是我的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§ion=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"]
完成上述第三方库的安装后,如果遇到类似下面的情况,请不要再次运行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
这是因为一些符号链接被安装破坏了。 这是CUDA 7与CentOS 7. https://www-947.ibm.com/support/entry/portal/docdisplay?lndocid=migr-5094265