web-dev-qa-db-ja.com

パッケージを削除しようとすると、満たされていない依存関係について文句を言う

Ubuntu 18.04では、CUDAのインストールに問題があります。CUDAをアンインストールして、最初からやり直したいと思います。

だから、私は以下を試しました:

Sudo apt remove cuda

しかし、これは以下を出力しました:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies.
 cuda-libraries-dev-10-1 : Depends: libcublas-dev (>= 10.2.1.243) but it is not going to be installed
 cuda-samples-10-1 : Depends: libcublas-dev (>= 10.2.1.243) but it is not going to be installed
 cuda-visual-tools-10-1 : Depends: libcublas-dev (>= 10.2.1.243) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

私はこれに非常に混乱しています。 cuda-libraries-dev-10-1cuda-samples-10-1、およびcuda-visual-tools-10-1はすべてlibcublas-devに依存し、少なくともバージョン10.2.1.243であると言われているようです。そして、このバージョンのlibcublas-devはインストールされないということです。しかし、私はそれをインストールしないでunistallCUDAしようとしています。したがって、とにかくこれらのパッケージを削除しようとすると、CUDAに付属するパッケージの一部が満たされていない依存関係を持つことにシステムが気を配る必要があるのはなぜですか?

cuda-libraries-dev-10-1cuda-samples-10-1、またはcuda-visual-tools-10-1をインストールしようとした場合、このメッセージは意味があると理解できます。しかし、これらを削除しようとしている場合、満たされていない依存関係があるかどうかは誰が気にしますか?


更新

提案されたように、私も走った:

apt --fix-broken install

次にこれを印刷しました:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  g++-6 libaccinj64-9.1 libcublas9.1 libcudart9.1 libcufft9.1 libcufftw9.1 libcuinj64-9.1 libcurand9.1 libcusolver9.1 libcusparse9.1 libnppc9.1 libnppial9.1 libnppicc9.1
  libnppicom9.1 libnppidei9.1 libnppif9.1 libnppig9.1 libnppim9.1 libnppist9.1 libnppisu9.1 libnppitc9.1 libnpps9.1 libnvblas9.1 libnvgraph9.1 libnvrtc9.1 libnvtoolsext1 libnvvm3
  libstdc++-6-dev libthrust-dev libvdpau-dev nvidia-cuda-dev nvidia-cuda-doc nvidia-cuda-gdb nvidia-opencl-dev nvidia-profiler nvidia-visual-profiler ocl-icd-opencl-dev
  opencl-c-headers
Use 'Sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libcublas-dev
The following NEW packages will be installed
  libcublas-dev
0 to upgrade, 1 to newly install, 0 to remove and 62 not to upgrade.
83 not fully installed or removed.
Need to get 0 B/38.9 MB of archives.
After this operation, 109 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Get:1 file:/var/cuda-repo-10-1-local-10.1.243-418.87.00  libcublas-dev 10.2.1.243-1 [38.9 MB]
(Reading database ... 211122 files and directories currently installed.)
Preparing to unpack .../libcublas-dev_10.2.1.243-1_AMD64.deb ...
Unpacking libcublas-dev (10.2.1.243-1) ...
dpkg: error processing archive /var/cuda-repo-10-1-local-10.1.243-418.87.00/./libcublas-dev_10.2.1.243-1_AMD64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libcublas_static.a', which is also in package nvidia-cuda-dev 9.1.85-3ubuntu1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cuda-repo-10-1-local-10.1.243-418.87.00/./libcublas-dev_10.2.1.243-1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

更新

コメントで示唆されているように、私は次に実行してみました:

Sudo apt full-upgrade

これは以下を出力しました:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies.
 cuda-libraries-dev-10-1 : Depends: libcublas-dev (>= 10.2.1.243) but it is not installed
 cuda-samples-10-1 : Depends: libcublas-dev (>= 10.2.1.243) but it is not installed
 cuda-visual-tools-10-1 : Depends: libcublas-dev (>= 10.2.1.243) but it is not installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

これは、私がSudo apt remove cudaを実行したときとまったく同じ出力です。


更新

コメントで示唆されているように、私はgrep -r deb /etc/apt/sources.list /etc/apt/sources.list.dを実行しました。これにより、次の出力が得られました。

/etc/apt/sources.list:#deb cdrom:[Ubuntu 18.04.3 LTS _Bionic Beaver_ - Release AMD64 (20190805)]/ bionic main restricted
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic-updates universe
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-updates universe
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
/etc/apt/sources.list:deb http://gb.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
/etc/apt/sources.list:# deb-src http://gb.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
/etc/apt/sources.list:# deb http://archive.canonical.com/ubuntu bionic partner
/etc/apt/sources.list:# deb-src http://archive.canonical.com/ubuntu bionic partner
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security main restricted
/etc/apt/sources.list:# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security universe
/etc/apt/sources.list:# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu bionic-security multiverse
/etc/apt/sources.list:# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse
/etc/apt/sources.list.d/cuda.list:deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /
/etc/apt/sources.list.d/cuda-10-0-local-10.0.130-410.48.list:deb file:///var/cuda-repo-10-0-local-10.0.130-410.48 /
/etc/apt/sources.list.d/cuda-10-1-local-10.1.243-418.87.00.list:deb file:///var/cuda-repo-10-1-local-10.1.243-418.87.00 /
5
Karnivaurus

私も同じ問題を抱えていました。これは私を救いました(あなたのパッケージバージョンで置き換えてください):

Sudo dpkg -i --force-overwrite /var/cache/apt/archives/libcublas-dev_10.2.1.243-1_AMD64.deb

その後:

Sudo apt --fix-broken install
5
Mortezaaa

dpkg:アーカイブの処理エラー/var/cuda-repo-10-1-local-10.1.243-418.87.00/./libcublas-dev_10.2.1.243-1_AMD64.deb(--unpack): '/ usr/lib/x86_64-linux-gnu/libcublas_static.a '。これもパッケージnvidia-cuda-dev 9.1.85-3ubuntu1 dpkg-debに含まれています:エラー:ペーストサブプロセスがシグナルによって強制終了されました(パイプが壊れています)

同じファイルを持つ2つのパッケージ

Sudo mv usr/lib/x86_64-linux-gnu/libcublas_static.a usr/lib/x86_64-linux-gnu/libcublas_static.a.bak

その後

Sudo dpkg --configure -a 

この問題が解決しない場合は、もう一度cudaを削除してみてください

3
nobody

Unpacking libcublas-dev (10.2.1.243-1) ... dpkg: error processing archive /var/cuda-repo-10-1-local-10.1.243-418.87.00/./libcublas-dev_10.2.1.243-1_AMD64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libcublas_static.a', which is also in package nvidia-cuda-dev 9.1.85-3ubuntu1

このエラーについて少し説明しましょう。それぞれが同じファイルを提供しようとするため、非互換のパッケージが2つあります。 2つのパッケージはlibcublas-dev(CUDAから)とnvidia-cuda-dev(Ubuntuから)です。

彼らが提供しようとするファイルは/usr/lib/x86_64-linux-gnu/libcublas_static.aです

いくつかのオプションがあります。

  1. CUDAをあきらめ、CUDAパッケージをアンインストールし、CUDAリポジトリを削除できます。

  2. NVIDIAパッケージをアンインストールできます。 Ubuntuリポジトリを削除しないでください。

  3. Dpkgの--force-overwriteフラグを使用して、互換性のない2つのパッケージを連携させることができます。その後、何もアンインストールまたは削除する必要はありません。

    Sudo apt install --force-overwrite libcublas-dev
    

    --forceの使用には注意が必要です。アップグレード、削除、またはその他のパッケージアクションで今後問題が発生する可能性があります。 CUDAとNVIDIAパッケージを一緒にインストールするために--force-overwriteを使用する必要があることを、自分のメモに必ず記載してください。

1
user535733