代码之家  ›  专栏  ›  技术社区  ›  César Pereira

与nvidia链接的gcc版本错误

  •  -2
  • César Pereira  · 技术社区  · 7 年前

    我安装了gcc-5和gcc-7,当我试图用“make”编译cuda示例时,我遇到了很多错误,经过一些研究,我发现我需要降级gcc,所以我认为系统使用的是gcc-7,而不是另一个,所以我使用purge卸载了它,但后来gcc甚至没有被识别,gcc版本出现了错误。因此,我也清除了其他gcc,并使用“sudo-apt-get-update”和“suda-apt-get-install-build-essential”再次安装了它gcc——版本“现在已经工作了,但我的cuda驱动程序不再工作了。nvidia smi导致“找不到命令”,我无法运行任何cuda示例,尽管现在我可以编译它了。例如,deviceQuery返回:

    cudaGetDeviceCount returned 35
    -> CUDA driver version is insufficient for CUDA runtime version
    Result = FAIL
    

    “nvcc--version”也可以使用,下面是输出:

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:03_CDT_2017
    Cuda compilation tools, release 9.0, V9.0.176
    

    运行“lshw-numeric-C display”会导致:

    WARNING: you should run this program as super-user.
      *-display               
           description: 3D controller
           product: GM107M [GeForce GTX 950M] [10DE:139A]
           vendor: NVIDIA Corporation [10DE]
           physical id: 0
           bus info: pci@0000:01:00.0
           version: a2
           width: 64 bits
           clock: 33MHz
           capabilities: bus_master cap_list rom
           configuration: driver=nvidia latency=0
           resources: irq:38 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f7000000-f707ffff
      *-display
           description: VGA compatible controller
           product: 4th Gen Core Processor Integrated Graphics Controller [8086:416]
           vendor: Intel Corporation [8086]
           physical id: 2
           bus info: pci@0000:00:02.0
           version: 06
           width: 64 bits
           clock: 33MHz
           capabilities: vga_controller bus_master cap_list rom
           configuration: driver=i915 latency=0
           resources: irq:34 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff
    WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
    

    我没有改变我的驱动程序,但重新安装gcc破坏了它们。我如何解决这个问题?

    谢谢

    --编辑--

    当我“查找nvidia smi”时,我会得到以下结果:

    /etc/alternatives/x86_64-linux-gnu_nvidia-smi.1.gz
    /usr/bin/nvidia-smi
    /usr/share/man/man1/nvidia-smi.1.gz
    

    虽然当我进入这些目录时,如/usr/bin,没有nvidia smi可执行文件,但在/usr/share/man/man1/下没有nvidia smi。1.gz

    正在执行“cat/proc/driver/nvidia/version”,我得到:

    NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.111  Tue Dec 19 23:51:45 PST 2017
    GCC version:  gcc version 7.2.0 (Ubuntu 7.2.0-1ubuntu1~16.04)
    

    它仍然显示旧的gcc,我现在有gcc-5,而不是7

    1 回复  |  直到 7 年前
        1
  •  0
  •   César Pereira    7 年前

    我设法解决了这个问题,实际上非常简单,我只需通过以下操作重新安装我的nvidia驱动程序:

    sudo apt-get purge nvidia* 
    sudo apt-get update 
    sudo apt-get install nvidia-384