LoginSignup
0
0

CUDAドライバの更新時のエラー解決メモ

Posted at

Ubuntu 22.04において、aptでインストールしていたCUDA 12.3がある状態で、最近出た12.4にアップグレードするためにapt -y update && apt -y upgradeしようとしたとき、以下のようなエラーが出た。

$ sudo apt -y install cuda-12-4 cuda-drivers
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
cuda-drivers is already the newest version (550.54.15-1).
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 cuda-12-4 : Depends: cuda-runtime-12-4 (>= 12.4.1) but it is not going to be installed
             Depends: cuda-toolkit-12-4 (>= 12.4.1) but it is not going to be installed
             Depends: cuda-demo-suite-12-4 (>= 12.4.127) but it is not going to be installed
 cuda-drivers : Depends: cuda-drivers-550 (= 550.54.15-1) but it is not going to be installed
 libnvidia-decode-545 : Depends: libnvidia-compute-545 (= 545.23.08-0ubuntu1) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

ここでapt --fix-broken installを入力しても特に解決しなかった。

$ sudo apt --fix-broken install

The following packages were automatically installed and are no longer required:
  libatomic1:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386
  libegl-mesa0:i386 libegl1:i386 libelf1:i386 libexpat1:i386 libffi8:i386 libgbm1:i386 libgl1:i386 libgl1-mesa-dri:i386
  libglapi-mesa:i386 libgles2:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libicu70:i386 libllvm15:i386 libopengl0:i386
  libpciaccess0:i386 libsensors5:i386 libstdc++6:i386 libwayland-client0:i386 libwayland-server0:i386 libx11-xcb1:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-randr0:i386 libxcb-shm0:i386
  libxcb-sync1:i386 libxcb-xfixes0:i386 libxfixes3:i386 libxml2:i386 libxshmfence1:i386 libxxf86vm1:i386 nvidia-modprobe
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  cuda-drivers-550 libnvidia-cfg1-550 libnvidia-compute-550:i386 libnvidia-decode-550 libnvidia-decode-550:i386
  libnvidia-encode-550 libnvidia-encode-550:i386 libnvidia-extra-550 libnvidia-fbc1-550 libnvidia-fbc1-550:i386 libnvidia-gl-550
  libnvidia-gl-550:i386 nvidia-compute-utils-550 nvidia-dkms-550 nvidia-driver-550 nvidia-firmware-550-550.54.15
  nvidia-kernel-common-550 nvidia-kernel-source-550 nvidia-utils-550 xserver-xorg-video-nvidia-550
The following packages will be REMOVED:
  libnvidia-cfg1-545 libnvidia-decode-545 libnvidia-encode-545 libnvidia-extra-545 libnvidia-fbc1-545 libnvidia-fbc1-545:i386
  nvidia-dkms-545 nvidia-kernel-common-545 nvidia-kernel-source-545 xserver-xorg-video-nvidia-545
The following NEW packages will be installed:
  cuda-drivers-550 libnvidia-cfg1-550 libnvidia-compute-550:i386 libnvidia-decode-550 libnvidia-decode-550:i386
  libnvidia-encode-550 libnvidia-encode-550:i386 libnvidia-extra-550 libnvidia-fbc1-550 libnvidia-fbc1-550:i386 libnvidia-gl-550
  libnvidia-gl-550:i386 nvidia-compute-utils-550 nvidia-dkms-550 nvidia-driver-550 nvidia-firmware-550-550.54.15
  nvidia-kernel-common-550 nvidia-kernel-source-550 nvidia-utils-550 xserver-xorg-video-nvidia-550
0 upgraded, 20 newly installed, 10 to remove and 8 not upgraded.
3 not fully installed or removed.
Need to get 0 B/290 MB of archives.
After this operation, 662 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
(Reading database ... 434884 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-550_550.54.15-0ubuntu1_amd64.deb ...
dpkg-query: no packages found matching libnvidia-gl-535
Unpacking libnvidia-gl-550:amd64 (550.54.15-0ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-550_550.54.15-0ubuntu1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libnvidia-api.so.1', which is also in package libnvidia-extra-545:amd64 545.23.08-0ubuntu1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-550_550.54.15-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

なんかわからんけれど

Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-550_550.54.15-0ubuntu1_amd64.deb

これが悪さをしているらしい。

そんなとき、この一時ファイルに対してdpkg -i --force-overwriteコマンドを使うと事態が進展した。

$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/libnvidia-gl-550_550.54.15-0ubuntu1_amd64.deb

(Reading database ... 434884 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-550_550.54.15-0ubuntu1_amd64.deb ...
dpkg-query: no packages found matching libnvidia-gl-535
Unpacking libnvidia-gl-550:amd64 (550.54.15-0ubuntu1) ...
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/usr/lib/x86_64-linux-gnu/libnvidia-api.so.1', which is also in package libnvidia-extra-545:amd64 545.23.08-0ubuntu1
dpkg: dependency problems prevent configuration of libnvidia-gl-550:amd64:
 libnvidia-gl-550:amd64 depends on libnvidia-common-550; however:
  Package libnvidia-common-550 is not configured yet.
 libnvidia-gl-550:amd64 depends on libnvidia-compute-550 (>= 550.54.15); however:
  Package libnvidia-compute-550:amd64 is not configured yet.

dpkg: error processing package libnvidia-gl-550:amd64 (--install):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.35-0ubuntu3.7) ...
Errors were encountered while processing:
 libnvidia-gl-550:amd64

この時点ではまだエラーが出ているが、この後もう一度apt --fix-broken installすると(なぜか)エラーが出なくなり色々修正が働いたようだ。

その後

$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 550.54

nvidiaドライバが更新されたみたいなのでnvidia-smiを使えるようにするために一度再起動した。その後apt -y update && apt -y upgradeをすることで無事最新のcuda-12-4がインストールされ、nvidia-smiも働いた。

0
0
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
0
0