Ubuntu 18.04(Cinnamon)では、パッケージcpp-7
は、パッケージ7.3.0-27ubuntu1~18.04
のバージョンgcc-7-base
に正確に依存します。
$ aptitude why gcc-7-base
i cpp-7 Depends gcc-7-base (= 7.3.0-27ubuntu1~18.04)
一方、パッケージlibgfortran4
は、同じパッケージ7.3.0-16ubuntu3
のバージョンgcc-7-base
に正確に依存しています:
$ apt-cache show libgfortran4
Package: libgfortran4
...
Depends: gcc-7-base (= 7.3.0-16ubuntu3), libc6 (>= 2.27), libgcc1, libquadmath0
他のバージョンのパッケージがすでにインストールされている場合、libgfortran4
はインストールされません。
$ Sudo apt-get install libgfortran4
...
The following packages have unmet dependencies:
libgfortran4 : Depends: gcc-7-base (= 7.3.0-16ubuntu3) but 7.3.0-27ubuntu1~18.04 is to be installed
Depends: libquadmath0 but it is not going to be installed
cpp-7
は、ubuntu-desktop
の依存関係グラフにあります。 libgfortran4
は、gimp
の依存関係グラフにあります。これは、Ubuntu 18.04のリポジトリからGIMPをインストールできないことを意味しないのですか?間違っている場合は修正してください。
問題をさらに厄介にするために、apt-cache showpkg
は、gcc-7-base
の2つの異なるバージョンが同じリポジトリにあり、同じMD5ハッシュを持っていることを示しています。
$ apt-cache showpkg gcc-7-base
Package: gcc-7-base
Versions:
7.3.0-27ubuntu1~18.04 (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages
MD5: b6e93638a6d08ea7a18929d7cf078e5d
...
7.3.0-16ubuntu3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages)
Description Language:
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-AMD64_Packages
MD5: b6e93638a6d08ea7a18929d7cf078e5d
それらがまったく同じコードであることを意味します(私が間違っていれば私を修正してください)。したがって、ここでは実際の依存関係の競合はなく、ラベルの1つだけがあります。
これはどのように起こり、どうすれば修正できますか?たとえば、cpp-7
またはlibgfortran4
のいずれかに、まったく同じコードであるため、gcc-7-base
の他のバージョンを受け入れることを許可する方法はありますか?パッケージメンテナーを関与させる必要がありますか?
Edit:数日前、このトピックに question を投稿しました。現在の質問は、私がその間に行った作業の絞り込まれた結果です。
編集:これらは私のアクティブなソースです:
$ grep -Ev '(^#|^ *$|deb-src)' /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb [Arch=AMD64] https://packages.Microsoft.com/repos/vscode stable main
/etc/apt/sources.list.d/keybase.list:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/keybase.list.save:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/vscode.list~:deb [Arch=AMD64] http://packages.Microsoft.com/repos/vscode stable main
更新のためにコメントされたdeb-src
があり、
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
ただdeb
の更新についてはコメントもコメントもされていません。行を追加する必要があります
deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
?
編集:追加
deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
/etc/apt/sources.list
ファイルに追加すると、$ Sudo apt-get update
が機能しました。 GIMPは$ Sudo apt-get install gimp
で期待どおりにインストールされました。皆さん、ありがとうございました!
この種の問題は通常、簡単なapt update
で修正されます。
使用可能な18.04バージョンのgcc-7-base
およびlibgfortran4
をmadisonデータベースに照会して、その理由を見てみましょう。
$ rmadison gcc-7-base
gcc-7-base | 7.3.0-16ubuntu3 | bionic | AMD64, arm64, armhf, i386, ppc64el, s390x
gcc-7-base | 7.3.0-27ubuntu1~18.04 | bionic-updates | AMD64, arm64, armhf, i386, ppc64el, s390x
$ rmadison libgfortran4
libgfortran4 | 7.3.0-16ubuntu3 | bionic | AMD64, arm64, armhf, i386, ppc64el, s390x
libgfortran4 | 7.3.0-27ubuntu1~18.04 | bionic-updates | AMD64, arm64, armhf, i386, ppc64el, s390x
libgfortran4
はバイオニック(非更新)バージョンであり、バイオニック(非更新)依存関係があることがわかります。一方、gcc-7-base
は、より新しいbionic-updates依存関係を使用します。
ベースリポジトリとそれに対応する単一システム上の-updatesリポジトリとの間のこの種の非同期には、2つの一般的な理由があります。
ユーザーが最近-updatesリポジトリを無効にしました。 /etc/apt/sources.listまたはソフトウェアとソースのコントロールパネルで確認および修正するのに十分簡単です。
ユーザーは、しばらくの間apt update
を実行していないため、両方のソースから利用可能なパッケージのaptのローカルデータベースを更新します(pdate)。それも簡単な修正です。
ファイル/etc/apt/sources.listには、ミラーとソースのいくつかの組み合わせが含まれている必要があります。
deb [mirror URL] bionic main
deb [mirror URL] bionic-updates main
deb [mirror URL] bionic-security main
オプションのuniverse
、multiverse
、およびrestricted
リポジトリを同じ行に含めることができます。
もう1つのオプションは、スナップ版のGIMPをインストールすることです。一部の人々はスナップを好まないことを理解していますが、これはカジュアルなLinuxユーザーにとってはより好ましいソリューションかもしれません。
Sudo snap install gimp
受け入れられた答えに加えて:デフォルトのソースのみが有効で、最新のパッケージリスト(apt update
)があり、gimpなどの基本パッケージでこのような競合が発生する場合は、バグを報告してください。これは何かであり、パッケージメンテナが修正すべきものであり、おそらく彼にとってはかなり簡単に修正できるものです。また、あなただけでなく、より多くの人々に影響を与える可能性があります。そのようなバグは時々発生しますが、メンテナーは知る必要があります。
もちろん、あなたの設定とパッケージのステータスが以前に問題になっていないことを確認する必要があります。サードパーティのリポジトリからgimp(またはその依存関係の一部)を取得している場合、ubuntuメンテナはあなたを助けることができません。