Gentoo Linuxで依存関係のあれこれを残す

August 08, 2021

依存関係のエラーをまとめる

私の短い経験と調査で得られたものを追加していく…

  1. @world の指定は大きすぎる場合がある。 @system で試すと必要なパッケージのアップデートはできるかもしれない。
  2. 個別のパッケージでアップデートを試みてみる。
  3. @preserved-rebuild と出たら emerge -1 @preserved-rebuild を行う
  4. dispatch-conf を行う
  5. マスクされている場合マスクされたパッケージをインストールする方法
  6. USE フラグの変更が必要

configureで失敗

2021/08/09 perl の gettext が必要との事

checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for library containing dlsym... -ldl
checking for library containing bindtextdomain... none required
configure: error: perl module Locale::gettext required

eix gettext で検索して必要そうなパッケージを追加した

RUN emerge sys-devel/gettext dev-perl/Locale-gettext

circular dependencies:

循環依存

インストールする 2 個(またはそれ以上)のパッケージがお互いに依存しているため、インストールできません。
これはほとんどの場合 Gentoo リポジトリ内のパッケージのどれかにバグがある状態です。
時間をおいて再 sync してからもう一度試してください。
Bugzilla をチェックしてこの問題が既知のものであるか確認し、そうでなければ報告することも有益でしょう。

Bugzillaで検索してみる。

2021/08/07 sys-libs/libxcrypt-4.4.24

ラスパイ用 64bit Gentoo で。

 * Error: circular dependencies:

(sys-libs/libxcrypt-4.4.24:0/1::gentoo, ebuild scheduled for merge) depends on
 (sys-libs/glibc-2.33-r5:2.2/2.2::gentoo, ebuild scheduled for merge) (buildtime)
  (dev-lang/python-3.10.0_rc1_p1:3.10/3.10::gentoo, ebuild scheduled for merge) (buildtime)
   (virtual/libcrypt-2:0/2::gentoo, ebuild scheduled for merge) (buildtime_slot_op)
    (sys-libs/libxcrypt-4.4.24:0/1::gentoo, ebuild scheduled for merge) (runtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

素直に libcrypt で検索してみた

最近更新された Buzgilla のトピックスで Project:Toolchain/libcrypt implementationが見つかった。

Preliminaries Don't skip these! とあるので実行してみる。

1. Ensure FEATURES="preserve-libs" (default) has been set for now (bug #802207)!
2. If a user's password was set before the year 2008 (bug #802267), the password may need changed in order to force it to be protected using newer mechanisms than e.g. md5crypt. A new sys-libs/pam version has been added to avoid this issue (bug #802807) although issues are being investigated (bug #803050).
3. Sync your copy of the repository (emerge --sync), especially to avoid issues like bug #802210.
4. Fully upgrade the system (emerge -a -uvDU @world or similar). This is critical to mitigate possible Portage issues.
5. Depclean (emerge -acv).
  1. Ensure FEATURES=“preserve-libs”
Ensure FEATURES="preserve-libs"
  1. パスワードは新しいものなので変更は不要

3 と 4 を実行するも循環依存は解決しない。

なので下にある

This section is now obsolete for ~arch users since the changes have now been made in the Gentoo ebuild repository.
It is still relevant if you're using stable.

を試す。が、改善しない。

An update to portage is available. It is highly recommended 2021/08/08

GenRpi64 で sys-apps/portage をアプデした方が良い、という表示

 * An update to portage is available. It is _highly_ recommended
 * that you update portage now, before any other packages are updated.

 * To update portage, run 'emerge --oneshot sys-apps/portage' now.



localhost /home/kaoru # emerge --oneshot sys-apps/portage

Profile picture

Written by tin-machine 技術関連のメモ Twitter