#はじめに
CUDAの依存関係で困ったので解決策をメモしておきます。
#エラーについて
Ubuntuでパッケージをインストールしようとした際、エラーが出て、
sudo apt-get -f install
を実行してみてくださいと言われる。
実行するとCUDAの依存関係について以下のようなエラーが出る。
hoge@hoge:$ sudo apt-get -f install
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
以下の追加パッケージがインストールされます:
libcublas-dev
以下のパッケージが新たにインストールされます:
libcublas-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 119 個。
60 個のパッケージが完全にインストールまたは削除されていません。
38.9 MB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 109 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 344965 個のファイルとディレクトリがインストールされています。)
.../libcublas-dev_10.2.1.243-1_amd64.deb を展開する準備をしています ...
libcublas-dev (10.2.1.243-1) を展開しています...
dpkg: アーカイブ /var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb の処理中にエラーが発生しました (--unpack):
'/usr/lib/x86_64-linux-gnu/libcublas_static.a' を上書きしようとしています。これはパッケージ nvidia-cuda-dev 7.5.18-0ubuntu1 にも存在します
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
/var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
(base) hiroka@hiroka:~/work/U-Net$ sudo apt --fix-broken install
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
以下の追加パッケージがインストールされます:
libcublas-dev
以下のパッケージが新たにインストールされます:
libcublas-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 119 個。
60 個のパッケージが完全にインストールまたは削除されていません。
38.9 MB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 109 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 344965 個のファイルとディレクトリがインストールされています。)
.../libcublas-dev_10.2.1.243-1_amd64.deb を展開する準備をしています ...
libcublas-dev (10.2.1.243-1) を展開しています...
dpkg: アーカイブ /var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb の処理中にエラーが発生しました (--unpack):
'/usr/lib/x86_64-linux-gnu/libcublas_static.a' を上書きしようとしています。これはパッケージ nvidia-cuda-dev 7.5.18-0ubuntu1 にも存在します
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
/var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
エラー文を見てみるとnvidia-cuda-dev 7.5.18-0ubuntu1
が邪魔をしていることがわかる。
これは、nvcc-V
コマンドを実行するために、nvidia-toolkitをインストールする際に入るもので、直接削除するのはリスクがあるため、今回は、dpkg
する際に引数をforce
にすることで、インストールを行った。参考サイト
以下の文を実行する。(ファイル名は調整)
$sudo dpkg -i --force-overwrite /var/cache/apt/archives/libcublas-dev_10.2.1.243-1_amd64.deb
その後、再びsudo apt-get -f install
を実行。
この手順でインストールを行うことができました。
#おわりに
今回は、色々調べた結果、強制的に展開を行いましたが、依存関係について、詳しくなりたいので、
解決法や、アドバイスがありましたら、教えていただけると幸いです。
また、同じようなエラーで困っている人がいれば参考にしていただけると幸いです。