ubuntu安装cuda报错Can‘t locate InstallUtils.pm in @INC的解决方案

  在安装cuda8.0的时候,出现报错Can’t locate InstallUtils.pm in @INC,详细信息如下:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Verifying archive integrity... All good.

Uncompressing NVIDIA CUDA

Can't locate InstallUtils.pm in @INC (you may need to install the InstallUtils module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./install-linux.pl line 6.

BEGIN failed--compilation aborted at ./install-linux.pl line 6.

Verifying archive integrity... All good.

Uncompressing NVIDIA CUDA Samples

Can't locate InstallUtils.pm in @INC (you may need to install the InstallUtils module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ./install-sdk-linux.pl line 6.

BEGIN failed--compilation aborted at ./install-sdk-linux.pl line 6.

'uninstall_cuda_8.0.pl' -> '/usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl'

  解决方案是,在cuda8.0安装包(run文件)所在目录下,打开一个终端,依次执行如下命令:

mkdir temp    #新建一个名为temp的文件夹,用来存放下一步解压出的文件(避免污染文件夹,方便后边删除)
sudo sh ./cuda*.run --tar mxvf --directory ./temp    #该命令执行后,可以在temp文件夹里看到解压出的文件
cp temp/InstallUtils.pm  /usr/lib/x86_64-linux-gnu/perl-base
export $PERL5LIB

  完成后,再按快捷键ctrl+alt+F6进入到tty3命令行界面,然后进入到run文件所在的目录,执行sudo sh cuda*.run --override命令进行安装即可。详细安装教程可以参考这篇博客
  安装成功后再执行命令sudo rm /usr/lib/x86_64-linux-gnu/perl-base/InstallUtils.pm,将前面因为安装需要copy的这个文件给删除掉。以及,执行sudo rm -r temp将存放临时解压文件的temp文件夹给删除掉。
  
  
参考链接:
https://forums.developer.nvidia.com/t/cant-locate-installutils-pm-in-inc/46952/12
https://blog.csdn.net/xiaoyang19910623/article/details/108407959

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Perl 中使用 `use Foo;` 语句导入模块时,Perl 会在 `@INC` 数组中搜索 `Foo.pm` 文件。如果找不到该文件,就会报错 `Can't locate Foo.pm in @INC`。 `@INC` 是 Perl 的一个数组,它包含了 Perl 搜索模块文件的路径。当我们使用 `use` 导入模块时,Perl 会在 `@INC` 数组中搜索与模块名相同的 `.pm` 文件。如果找到了该文件,就会执行其中的代码并将模块中定义的函数、变量或常量导入到当前命名空间中。 如果报错 `Can't locate Foo.pm in @INC`,那么可能是以下原因之一: 1. `Foo.pm` 文件不存在。请检查是否存在名为 `Foo.pm` 的文件,以及该文件是否在 `@INC` 中。 2. `Foo.pm` 文件存在,但是没有在 `@INC` 中。可以使用 `use lib` 语句将文件所在目录添加到 `@INC` 中,例如: ``` use lib '/path/to/Foo'; use Foo; ``` 上面的代码会将 `/path/to/Foo` 目录添加到 `@INC` 中,然后使用 `use Foo;` 导入 `Foo` 模块。 3. `Foo.pm` 文件存在,但是没有权限读取。请检查文件权限是否正确,以及当前用户是否有权限读取该文件。 4. `Foo.pm` 文件存在,但是文件名有误。请检查文件名是否为 `Foo.pm`,以及文件名的大小写是否与 `use` 语句中的模块名一致。 5. `Foo.pm` 文件存在,但是文件中有语法错误。请检查文件中的语法是否正确。 总的来说,解决 `Can't locate Foo.pm in @INC` 错误的方法是找到 `Foo.pm` 文件并将其添加到 `@INC` 中,或者将文件所在目录添加到 `@INC` 中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeeq_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值