LoginSignup
2
1

More than 1 year has passed since last update.

APT を使ったNVIDIAドライバのインストールでハマった話

Last updated at Posted at 2022-01-25

NVIDIA Driver って突然使えなくなりますよね。

今回、nvidia-smi コマンドを実行すると、以下のエラーが発生しました。

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

以前も似たようなエラーに遭遇していて、その時は NVIDIA Driver と CUDA の再インストールで解決しました。おそらく、sudo apt upgradeで知らない間に関連するライブラリをアップデートしてドライバの依存関係が壊れてしまっていたのだと思います。

今回も再インストールで直るかなと思ったのですが、少しはまったので記事にしました。

環境

  • Ubuntu 18.04
  • GeForce GTX 1080 Ti

試したこと

毎回、NVIDIA Driver と CUDA の再インストールで直るので、今回も試してみました。
再インストールの方法は以下の記事を参考にしました。
https://qiita.com/porizou1/items/74d8264d6381ee2941bd

NVIDIA Driver のインストール方法はたくさんありますが、自分は Ubuntu を使っているので、ubuntu-drivers コマンドを使っています。

ubuntu-drivers devices でインストール候補の NVIDIA Driver を探して、apt でインストールするのですが、インストール最中に以下のメッセージがでます。

...
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-kernel-source-470.0.crash'
Error! Bad return status for module build on kernel: 5.4.0-84-generic (x86_64)
Consult /var/lib/dkms/nvidia/470.63.01/build/make.log for more information.
dpkg: error processing package nvidia-dkms-470 (--configure):
...
Errors were encountered while processing:
 nvidia-dkms-470
 nvidia-driver-470
E: Sub-process /usr/bin/dpkg returned an error code (1)

どうやら nvidia-dkms が怪しいようです。
また、
sudo apt purge nvidia*
で関連するライブラリをアンインストールしようとしても、nvidia-dkms はアンインストールできなかったです。

原因

ググってみると、以下のスレッドを見つけました。
https://forums.developer.nvidia.com/t/nvidia-driver-470-does-not-install-on-ubuntu-20-04-lts/191593

カーネルをビルドした時のコンパイラと現在DKMSをビルドする時のコンパイラが異なっていることが原因とのことです。DKMSとは、Linux でカーネルに組み込まれていないカーネルモジュールを動的にロードする仕組みとのことです。カーネルモジュールのビルドかロードに失敗しているようですね。

実際に gcc のバージョンを見てみると、Not Found となっていました。。。
以下で、gcc をインストールします。
sudo apt install gcc
これで、gcc がインストールできます。

cat /proc/versiongcc --version
のバージョンが一致しているか確認します。

これで、無事に NVIDIA Driver がインストールできました。

まとめ

CUDA 環境の構築に慣れはこない

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1