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

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

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

  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

2023/06 ToDo

一旦、下記のmaskで自宅のラズパイ全部を最新にする

dev-lang/rust
>sys-apps/coreutils-8.32-r1
>net-misc/wget-1.21.3-r1
>sys-kernel/raspberrypi-initramfs-2.0.0
>sys-kernel/raspberrypi-kernel-5.10.11
>sys-devel/gcc-11.2.0
>sys-apps/systemd-tmpfiles-249.9
sys-apps/systemd-utils
sys-apps/systemd-tmpfiles
>net-misc/netifrc-0.7.3
>sys-apps/openrc-0.44.10
>dev-python/packaging-21.3-r2
>dev-python/setuptools-67.7.2
>=dev-libs/glib-2.76.2
>virtual/man-0-r4
>dev-lang/perl-5.34.1-r4
>dev-lang/perl-5.36.0-r2
>dev-perl/Pod-Parser-1.630.0
>virtual/perl-File-Spec-3.840.0
>=dev-util/gdbus-codegen-2.72.3-2

あるパッケージの特定バージョンを削除した方が良いケース

sys-devel/binutils の古いバージョンはサポートされてない。

!!! The following installed packages are masked:
- sys-devel/binutils-2.37_p1::gentoo (masked by: package.mask)
/var/db/repos/gentoo/profiles/package.mask:
# Andreas K. Hüttel <dilfridge@gentoo.org> (2017-05-21)
# (and others, updated later)
# These old versions of toolchain packages (binutils, gcc, glibc) are no
# longer officially supported and are not suitable for general use. Using
# these packages can result in build failures (and possible breakage) for
# many packages, and may leave your system vulnerable to known security
# exploits.
# If you still use one of these old toolchain packages, please upgrade (and
# switch the compiler / the binutils) ASAP. If you need them for a specific
# (isolated) use case, feel free to unmask them on your system.

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

eixで確認すると、より新しいバージョンはインストール済みだった。

eix sys-devel/binutils
[?] sys-devel/binutils
     Available versions:
     (2.32) [M]~2.32-r2^t
     (2.33) [M]2.33.1-r1^t
     (2.34) [M]2.34-r2^t
     (2.35) [M]2.35.2^t
     (2.36) [M]2.36.1-r2^t
     (2.37) [M]2.37_p1-r2^t
     (2.38) 2.38-r2^t
     (2.39) 2.39-r5^t
     (2.40) ~2.40-r3^t ~2.40-r4^t ~2.40-r5^t
     (9999) **9999*l^t
       {cet default-gold doc (+)gold gprofng multitarget +nls pgo +plugins static-libs test vanilla zstd}
     Installed versions:  2.37_p1(2.37)^t(04時22分20秒 2022年01月25日)(gold nls plugins -cet -default-gold -doc -multitarget -static-libs -test -vanilla) 2.38-r2(2.38)^t(20時55分57秒 2022年08月10日)(gold nls plugins -cet -default-gold -doc -multitarget -pgo -static-libs -test -vanilla) 2.39-r5(2.39)^t(22時52分42秒 2023年06月27日)(gold nls plugins -cet -default-gold -doc -gprofng -multitarget -pgo -static-libs -test -vanilla)
     Homepage:            https://sourceware.org/binutils/
     Description:         Tools necessary to build programs

ので、特定のバージョンを指定して削除する。

sudo emerge --unmerge =sys-devel/binutils-2.37_p1
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 sys-devel/binutils
    selected: 2.37_p1
   protected: none
     omitted: 2.38-r2 2.39-r5

All selected packages: =sys-devel/binutils-2.37_p1

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) sys-devel/binutils-2.37_p1...
 * Switching to aarch64-unknown-linux-gnu-2.39 ...                         [ ok ]

python3.8, python3.9に依存するパッケージのアップデート

sudo emerge --depclean

 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.
 *
 * As a safety measure, depclean will not remove any packages
 * unless *all* required dependencies have been resolved.  As a
 * consequence of this, it often becomes necessary to run
 * `emerge --update --newuse --deep @world` prior to depclean.

Calculating dependencies... done!
 * Dependencies could not be completely resolved due to
 * the following required packages not being installed:
 *
 *   >=dev-lang/python-3.8.13:3.8 pulled in by:
 *     dev-python/pygobject-3.42.2
 *
 *   >=dev-lang/python-3.9.12:3.9 pulled in by:
 *     dev-libs/newt-0.52.21_p20210816
 *
 *   >=dev-lang/python-3.9.12:3.9 pulled in by:
 *     dev-python/pygobject-3.42.2
 *
 *   >=dev-lang/python-3.8.13:3.8 pulled in by:
 *     dev-libs/newt-0.52.21_p20210816
 *
 *   >=dev-lang/python-3.9.12:3.9[threads(+)] pulled in by:
 *     dev-python/pycairo-1.21.0
 *
 *   sys-apps/systemd-utils[tmpfiles] pulled in by:
 *     virtual/tmpfiles-0-r3
 *
 *   >=dev-lang/python-3.8.13:3.8[threads(+)] pulled in by:
 *     dev-python/pycairo-1.21.0
 *
 * Have you forgotten to do a complete update prior to depclean? The
 * most comprehensive command for this purpose is as follows:
 *
 *   emerge --update --newuse --deep --with-bdeps=y @world
 *
 * Note that the --with-bdeps=y option is not required in many
 * situations. Refer to the emerge manual page (run `man emerge`)
 * for more information about --with-bdeps.
 *
 * Also, note that it may be necessary to manually uninstall
 * packages that no longer exist in the repository, since it may not
 * be possible to satisfy their dependencies.

glibのアプデが必要 複数サーバあるので、glibのアプデ前まで各サーバの進捗が揃ったら対応する

sudo emerge --quiet-build --jobs=2 --ask --update --newu
se --verbose-conflicts  --deep --with-bdeps=y  dev-python/pygobject

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 31.03 s.


!!! All ebuilds that could satisfy ">=dev-libs/glib-2.75.0:2" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/glib-2.76.3::gentoo (masked by: package.mask, ~arm64 keyword)
- dev-libs/glib-2.76.2::gentoo (masked by: package.mask)

(dependency required by "dev-libs/gobject-introspection-1.76.1::gentoo" [ebuild])
(dependency required by "dev-python/pygobject-3.44.1::gentoo" [ebuild])
(dependency required by "dev-python/pygobject" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

python-exec の設定ファイル /etc/python-exec/python-exec.conf でエラーが出る。

$ sudo emerge  --quiet-build --ask --jobs=2 --update --newuse --deep --with-bdeps=y @world
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.9
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.8

/etc/python-exec/python-exec.conf で古いバージョンの箇所を削除する

net-misc/networkmanager の手動インストールが必要だった

@worldだと下記エラー

sudo emerge --quiet-build --jobs=2 --ask --update --newuse --verbose-conflicts @world

These are the packages that would be merged, in order:

Calculating dependencies... done!

The following packages are causing rebuilds:

  (net-dialup/ppp-2.5.0-r3:0/2.5.0::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (net-misc/networkmanager-1.42.6-r1:0/0::gentoo, ebuild scheduled for merge)

!!! All ebuilds that could satisfy "dev-util/gdbus-codegen" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-util/gdbus-codegen-2.76.3::gentoo (masked by: package.mask, ~arm64 keyword)
- dev-util/gdbus-codegen-2.76.2::gentoo (masked by: package.mask)
- dev-util/gdbus-codegen-2.74.3::gentoo (masked by: package.mask)
- dev-util/gdbus-codegen-2.72.3::gentoo (masked by: package.mask)
- dev-util/gdbus-codegen-2.72.2::gentoo (masked by: use flag configuration mismatch)
- dev-util/gdbus-codegen-2.70.4::gentoo (masked by: use flag configuration mismatch)
- dev-util/gdbus-codegen-2.66.7::gentoo (masked by: use flag configuration mismatch)

(dependency required by "net-misc/networkmanager-1.42.6-r1::gentoo" [ebuild])
(dependency required by "@profile" [set])
(dependency required by "@world" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

このためパッケージ単体で先にインストール

sudo emerge --quiet-build --jobs=2 --ask --update --newuse --verbose-conflicts net-misc/networkmanager

古いpythonが特定パッケージに依存していて解決が難しい

python-3.11 が python-exec-2.4.10-1にアップデートしようとしているが、python3.8 python3.9が古いバージョンに依存している

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/python-exec:2

  (dev-lang/python-exec-2.4.10-1:2/2::gentoo, binary scheduled for merge) USE="(native-symlinks) -test" PYTHON_TARGETS="(pypy3) (python3_10) (python3_11) (-python3_12)" pulled in by
    dev-lang/python-exec[python_targets_python3_11(-)] required by (dev-lang/python-3.11.4:3.11/3.11::gentoo, ebuild scheduled for merge) USE="ensurepip gdbm ncurses pgo readline sqlite ssl -bluetooth -build -debug -examples (-hardened) -libedit -lto -test -tk -valgrind -verify-sig"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  (dev-lang/python-exec-2.4.9-3:2/2::gentoo, installed) USE="(native-symlinks) userland_GNU -test" PYTHON_TARGETS="(pypy3) (python3_10) python3_8 python3_9 (-python3_11)" pulled in by
    dev-lang/python-exec[python_targets_python3_8(-)] required by (dev-lang/python-3.8.13_p8-1:3.8/3.8::gentoo, installed) USE="ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig -wininst"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
    dev-lang/python-exec[python_targets_python3_9(-)] required by (dev-lang/python-3.9.13_p6-1:3.9/3.9::gentoo, installed) USE="ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig"

eselect python list でより新しいpythonがある事を確認 古いpythonを削除する。

python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.9
python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.8

/etc/python-exec/python-exec.conf にある古いpythonを削除

package.mask で、パッケージの選択を止めては?と勧められた

下記の表示が出る。

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

このエラーメッセージは、依存関係の解決中にスロットの競合が発生したことを示していると思われる。 複数のパッケージが同じスロットに存在するため、競合が発生している。

スロットの競合を解決するアプローチとしては下記が考えられる。 エラーメッセージに表示されている競合しているパッケージのリストを確認する。 それぞれのパッケージにはスロットの情報が含まれています。 競合しているパッケージの一方をアンインストールするか、別のバージョンに変更する。 あるいはアップデート自体を一時的に見送る。 これにより、スロットの競合を解消することができます。

  1. 競合しているパッケージの一方をアンインストールする emerge –unmerge パッケージ名 を使用して、競合しているパッケージをアンインストール。

  2. 別のバージョンのパッケージを選択する =バージョン の形式を使用して、特定のバージョンのパッケージをインストール。

  3. アップデート予定のパッケージをマスクする(一時的に無視する) $ sudo vi /etc/portage/package.mask/package.mask

dev-lang/perl:0

  (dev-lang/perl-5.34.0-r2:0/5.34::gentoo, ebuild scheduled for merge) USE="gdbm -berkdb -debug -doc -ithreads -minimal" pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (dev-lang/perl-5.32.1-1:0/5.32::gentoo, installed) USE="berkdb gdbm -debug -doc -ithreads -minimal" pulled in by
    dev-lang/perl:0/5.32= required by (dev-perl/Locale-gettext-1.70.0-2:0/0::gentoo, installed) USE=""
                 ^^^^^^^^


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.

Gentoo ハンドブックの package.maskを参考にマスクし t げ見る。

上記の例だと、

スロット dev-lang/perl:0 で衝突している。

現在は dev-lang/perl-5.32.1-1 を使っているが、dev-lang/perl-5.34.0-r2 のアップデートがある。

  • (dev-lang/perl-5.34.0-r2:0/5.34::gentoo, ebuild scheduled for merge)
  • (dev-lang/perl-5.32.1-1:0/5.32::gentoo, installed)
>dev-lang/perl:0/5.32

ではなく

>dev-lang/perl-5.32.1-1

が正解だった。 5.32.1-1 以上を無視してくれる。つまり現在のバージョン以上を無視してくれる。

/etc/portage/package.mask/package.mask のコメントアウトに # を使っていた

原因はコメントアウトしていたためだが、ほかの依存関係のケースもでるので依存関係のエラーと勘違いしていた。

同じスロットで下記の衝突が発生しているようにみえる。

  • (dev-lang/perl-5.36.0-r2:0/5.36::gentoo, ebuild scheduled for merge)
  • (dev-lang/perl-5.34.1-r4:0/5.34::gentoo, ebuild scheduled for merge)

一旦、現在のバージョンを活かすため、現在のバージョン以上をマスク

sudo vi /etc/portage/package.mask/package.mask
>dev-lang/perl-5.34.1-r4

すると下記のエラー。 dev-lang/perl-5.36.1-r2 は必要。

sudo emerge --ask  --update --deep --verbose-conflicts @system

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "=dev-lang/perl-5.36*" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.36.1-r2::gentoo (masked by: package.mask, ~arm64 keyword)
/etc/portage/package.mask/package.mask:
# >sys-apps/man-pages-6.04
# >app-i18n/man-pages-ja-20180315
# >virtual/man-0-r4

- dev-lang/perl-5.36.1::gentoo (masked by: package.mask, ~arm64 keyword)
- dev-lang/perl-5.36.0-r2::gentoo (masked by: package.mask)
- dev-lang/perl-5.36.0-r1::gentoo (masked by: package.mask)

(dependency required by "virtual/perl-File-Spec-3.840.0::gentoo" [ebuild])
(dependency required by "dev-perl/Pod-Parser-1.630.0-r1::gentoo" [installed])
(dependency required by "app-text/po4a-0.66::gentoo" [installed])
(dependency required by "sys-apps/sysvinit-3.07::gentoo[nls]" [ebuild])
(dependency required by "sys-apps/openrc-0.44.10::gentoo" [installed])
(dependency required by "net-misc/netifrc-0.7.3::gentoo" [installed])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
!!! All ebuilds that could satisfy "=dev-lang/perl-5.36*" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.36.1-r2::gentoo (masked by: package.mask, ~arm64 keyword)
/etc/portage/package.mask/package.mask:
# >sys-apps/man-pages-6.04
# >app-i18n/man-pages-ja-20180315
# >virtual/man-0-r4

コメントアウトしている行が指摘されている… ちなみにコメントアウトしている行を一番下に持ってくると指摘されなくなる。 若干、パーサを疑うが消すとエラーの指摘はなくなる。

スロットの衝突を回避しようとして現在のバージョン以上をマスクしたら、別のパッケージが新しいバージョンを要求していた

–deepを付けてアップデートをしようとしたら、実は既存パッケージの中で新しいバージョンを要求するものがあった、 という状況ではないか?と理解しています。

sudo emerge --ask  --update --deep --verbose-conflicts @system

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "=dev-lang/perl-5.36*" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.36.1-r2::gentoo (masked by: package.mask, ~arm64 keyword)
- dev-lang/perl-5.36.1::gentoo (masked by: package.mask, ~arm64 keyword)
- dev-lang/perl-5.36.0-r2::gentoo (masked by: package.mask)
- dev-lang/perl-5.36.0-r1::gentoo (masked by: package.mask)

(dependency required by "virtual/perl-File-Spec-3.840.0::gentoo" [ebuild])
(dependency required by "dev-perl/Pod-Parser-1.630.0-r1::gentoo" [installed])
(dependency required by "app-text/po4a-0.66::gentoo" [installed])
(dependency required by "sys-apps/sysvinit-3.07::gentoo[nls]" [ebuild])
(dependency required by "sys-apps/openrc-0.44.10::gentoo" [installed])
(dependency required by "net-misc/netifrc-0.7.3::gentoo" [installed])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

equeryコマンドで依存するパッケージを確認してみる。

$ equery depends --depth=2 virtual/perl-File-Spec
 * These packages depend on virtual/perl-File-Spec:
dev-perl/Devel-CheckLib-1.140.0 (virtual/perl-File-Spec)
dev-perl/Error-0.170.290 (test ? virtual/perl-File-Spec)
dev-perl/HTML-Parser-3.760.0 (test ? virtual/perl-File-Spec)
dev-perl/HTTP-Message-6.330.0 (virtual/perl-File-Spec)
                              (test ? virtual/perl-File-Spec)
dev-perl/Module-Build-0.423.100 (>=virtual/perl-File-Spec-0.820.0)
dev-perl/Net-HTTP-6.210.0 (test ? virtual/perl-File-Spec)
dev-perl/Pod-Parser-1.630.0-r1 (virtual/perl-File-Spec)
dev-perl/Try-Tiny-0.310.0 (virtual/perl-File-Spec)
dev-perl/YAML-Tiny-1.730.0-r1 (>=virtual/perl-File-Spec-0.80.0)
dev-perl/libwww-perl-6.600.0-r1 (test ? virtual/perl-File-Spec)
$ equery depends dev-perl/Pod-Parser
 * These packages depend on dev-perl/Pod-Parser:
app-text/po4a-0.66 (dev-perl/Pod-Parser)
$ equery depends --depth=2 app-text/po4a
 * These packages depend on app-text/po4a:
sys-apps/man-db-2.9.4-r1 (>=app-text/po4a-0.45)
$ equery depends --depth=2 sys-apps/sysvinit
 * These packages depend on sys-apps/sysvinit:
sys-apps/openrc-0.44.10 (>=sys-apps/sysvinit-2.86-r6)
$ equery depends --depth=2 sys-apps/openrc
 * These packages depend on sys-apps/openrc:
net-misc/netifrc-0.7.3 (>=sys-apps/openrc-0.15)
net-wireless/rpi3-bluetooth-1.2 (!systemd ? >=sys-apps/openrc-0.41)
net-wireless/rpi3-wifi-regdom-1.1-r1 (!systemd ? >=sys-apps/openrc-0.41)
sys-apps/rpi-i2c-1.0.0-r3 (!systemd ? >=sys-apps/openrc-0.41)
sys-apps/rpi-onetime-startup-1.0-r5 (!systemd ? >=sys-apps/openrc-0.41)
sys-apps/rpi3-init-scripts-2.0.0 (!systemd ? >=sys-apps/openrc-0.44.10)
sys-apps/rpi3-ondemand-cpufreq-1.1.1-r1 (!systemd ? >=sys-apps/openrc-0.41)
virtual/service-manager-1-r1 (!prefix-guest ? sys-apps/openrc)
$ equery depends --depth=2 net-misc/netifrc
 * These packages depend on net-misc/netifrc:
sys-apps/openrc-0.44.10 (net-misc/netifrc)

ひとつmandbに依存するパッケージを上げてみる。 maskしていたのでmaskを解除する.

$ equery depends --depth=2 app-text/po4a
 * These packages depend on app-text/po4a:
sys-apps/man-db-2.9.4-r1 (>=app-text/po4a-0.45)

下記を削除

>sys-apps/man-db-2.10.2
>sys-apps/man-db-2.9.4

現在の状況だとperl-5.36が必要なので下記マスクを解除する

>dev-lang/perl-5.34.1-r4

古いperlに依存するパッケージが大量に出た。

  (dev-lang/perl-5.34.1-r4:0/5.34::gentoo, ebuild scheduled for merge) USE="gdbm -berkdb -debug -doc -ithreads -minimal -quadmath" pulled in by
    dev-lang/perl:0/5.34= required by (perl-core/Encode-3.120.0-1:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-ExtUtils-MakeMaker-7.620.0-1:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (app-text/po4a-0.66-3:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-Encode-3.120.0-1:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-podlators-4.140.0-r3-4:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-Data-Dumper-2.179.0-1:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    =dev-lang/perl-5.34* required by (virtual/perl-Test-Harness-3.430.0-1:0/0::gentoo, installed) USE="userland_GNU"
    ^              ^^^^^                                                                                                                
    dev-lang/perl:0/5.34= required by (dev-perl/SGMLSpm-1.1-r2-1:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    =dev-lang/perl-5.34* required by (virtual/perl-ExtUtils-MakeMaker-7.620.0-1:0/0::gentoo, installed) USE="userland_GNU"
    ^              ^^^^^                                                                                                                
    dev-lang/perl:0/5.34= required by (virtual/perl-ExtUtils-CBuilder-0.280.236-r1-4:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-Carp-1.520.0-r2-3:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    =dev-lang/perl-5.34* required by (virtual/perl-Data-Dumper-2.179.0-1:0/0::gentoo, installed) USE="userland_GNU"
    ^              ^^^^^                                                                                                                
    dev-lang/perl:0/5.34= required by (dev-perl/Unicode-LineBreak-2019.1.0-1:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/Text-CharWidth-0.40.0-r2-1:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/MIME-Charset-1.12.2-r1-4:0/0::gentoo, installed) USE="userland_GNU -test" L10N="ja -zh"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-Getopt-Long-2.520.0-r1-4:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/Locale-gettext-1.70.0-r1-1:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-ExtUtils-Install-2.200.0-r1-4:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/Pod-Parser-1.630.0-r1-1:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/Encode-EUCJPASCII-0.30.0-r1-4:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/YAML-Tiny-1.730.0-r1-1:0/0::gentoo, installed) USE="userland_GNU -minimal -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/Text-WrapI18N-0.60.0-r2-1:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (dev-perl/Module-Build-0.423.100-1:0/0::gentoo, installed) USE="userland_GNU -test"
                 ^^^^^^^^                                                                                                               
    dev-lang/perl:0/5.34= required by (virtual/perl-Test-Harness-3.430.0-1:0/0::gentoo, installed) USE="userland_GNU"
                 ^^^^^^^^                                                                                                               

dev-lang/perl-5.34.1-r4:0 に下記パッケージが依存していた(上記を整形しただけのもの)

perl-core/Encode
virtual/perl-ExtUtils-MakeMaker
app-text/po4a
virtual/perl-Encode
virtual/perl-podlators
virtual/perl-Data-Dumper
irtual/perl-Test-Harness
dev-perl/SGMLSpm
irtual/perl-ExtUtils-MakeMaker
virtual/perl-ExtUtils-CBuilder
virtual/perl-Carp
irtual/perl-Data-Dumper
dev-perl/Unicode-LineBreak
dev-perl/Text-CharWidth
dev-perl/MIME-Charset
virtual/perl-Getopt-Long
dev-perl/Locale-gettext
virtual/perl-ExtUtils-Install
dev-perl/Pod-Parser
dev-perl/Encode-EUCJPASCII
dev-perl/YAML-Tiny
dev-perl/Text-WrapI18N

古いperlに依存しているパッケージをperlより先にアップデートを試みる。 (新しいperlに対応したいため)

sudo emerge --ask  --update --deep --verbose-conflicts perl-core/Encode virtual/perl-ExtUtils-MakeMaker app-text/po4a virtual/perl-Encode virtual/perl-podlators virtual/perl-Data-Dumper virtual/perl-Test-Harness dev-perl/SGMLSpm virtual/p
erl-ExtUtils-MakeMaker virtual/perl-ExtUtils-CBuilder virtual/perl-Carp virtual/perl-Data-Dumper dev-perl/Unicode-LineBreak dev-perl/Tex
t-CharWidth dev-perl/MIME-Charset virtual/perl-Getopt-Long dev-perl/Locale-gettext virtual/perl-ExtUtils-Install dev-perl/Pod-Parser dev
-perl/Encode-EUCJPASCII dev-perl/YAML-Tiny dev-perl/Text-WrapI18N

既存のblock設定とバッティングした

[blocks B      ] <perl-core/Encode-3.170.0 ("<perl-core/Encode-3.170.0" is soft blocking virtual/perl-Encode-3.170.0)
[blocks B      ] <dev-python/setuptools-67 ("<dev-python/setuptools-67" is soft blocking dev-python/packaging-23.1)
[blocks B      ] <dev-util/gdbus-codegen-2.76.2 ("<dev-util/gdbus-codegen-2.76.2" is soft blocking dev-libs/glib-2.76.2)

ブロックしているパッケージの状況をeixで調べる。

  • virtual/perl-Encode
  • dev-python/packaging
  • dev-libs/glib
$ eix virtual/perl-Encode
[U] virtual/perl-Encode
     Available versions:  3.120.0 3.170.0 [M]~3.190.0
     Installed versions:  3.120.0(08時46分34秒 2022年01月25日)
     Description:         Virtual for Encode
$ eix dev-python/packaging
[U] dev-python/packaging
     Available versions:  21.3-r2^t 23.1^t {test PYTHON_TARGETS="pypy3 python3_10 python3_11 python3_12"}
     Installed versions:  21.3-r2^t(02時50分10秒 2022年08月13日)(-test PYTHON_TARGETS="python3_8 python3_9 python3_10 -pypy3 -python3_11")
     Homepage:            https://github.com/pypa/packaging/ https://pypi.org/project/packaging/
     Description:         Core utilities for Python packages
     ```

$ eix dev-libs/glib [U] dev-libs/glib Available versions: (2) 2.76.2^t ~2.76.3^t {dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr ABI_MIPS=“n32 n64 o32” ABI_S390=“32 64” ABI_X86=“32 64 x32”} Installed versions: 2.72.3(2)^t(12時44分03秒 2022年08月11日)(elf mime xattr -dbus -debug -fam -gtk-doc -selinux -static-libs -sysprof -systemtap -test -utils ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="-32 -64 -x32") Homepage: https://www.gtk.org/ Description: The GLib library of C routines


virtual/perl-Encode のアプデを試みたが、私の状況だと、他を先にアプデした方が良さそうな状況。

sudo emerge –ask –update –deep –verbose-conflicts perl-core/Encode


ブロックしているパッケージがあった。

[blocks B ] <perl-core/Encode-3.170.0 ("<perl-core/Encode-3.170.0" is soft blocking virtual/perl-Encode-3.170.0) [blocks B ] <dev-util/gdbus-codegen-2.76.2 ("<dev-util/gdbus-codegen-2.76.2" is soft blocking dev-libs/glib-2.76.2) [blocks B ] <dev-python/setuptools-67 ("<dev-python/setuptools-67" is soft blocking dev-python/packaging-23.1)


スロットのバージョン依存の部分でコンフリクト

!!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict:


- dev-lang/perl:0
- dev-python/typing-extensions:0
- dev-python/setuptools:0
- dev-python/setuptools-scm:0
- dev-python/tomli:0
- dev-python/packaging:0
- dev-python/certifi:0
- dev-python/ordered-set:0
- dev-python/nspektr:0
- dev-python/more-itertools:0
- dev-python/jaraco-functools:0
- dev-python/jaraco-context:0
- dev-python/pyparsing:0
- dev-python/jinja:0
- dev-lang/python-exec:2

スロットでコンフリクトしている

!!! The slot conflict(s) shown above involve package(s) which may need to !!! be rebuilt in order to solve the conflict(s). However, the following !!! package(s) cannot be rebuilt for the reason(s) shown:

(dev-perl/TermReadKey-2.380.0-1:0/0::gentoo, installed): ebuild is masked or unavailable (dev-perl/IO-Socket-SSL-2.72.0-1:0/0::gentoo, installed): ebuild is masked or unavailable (dev-perl/Devel-CheckLib-1.140.0-6:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-Module-Metadata-1.0.37-r2-4:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-CPAN-Meta-2.150.10-r6-4:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-Perl-OSType-1.10.0-r6-4:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-Time-Local-1.300.0-r1-3:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-IO-Socket-IP-0.410.0-r1-3:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-ExtUtils-Manifest-1.730.0-r1-4:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-CPAN-Meta-Requirements-2.140.0-r8-4:0/0::gentoo, installed): ebuild is masked or unavailable (dev-vcs/git-2.35.1-3:0/0::gentoo, installed): ebuild is masked or unavailable (dev-perl/File-Listing-6.140.0-6:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-Compress-Raw-Bzip2-2.103.0-r2-3:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-Parse-CPAN-Meta-2.150.10-r6-4:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-CPAN-Meta-YAML-0.18.0-r8-4:0/0::gentoo, installed): ebuild is masked or unavailable (dev-perl/URI-5.100.0-5:0/0::gentoo, installed): ebuild is masked or unavailable (virtual/perl-IO-Compress-2.103.0-r1-3:0/0::gentoo, installed): ebuild is masked or unavailable


下記の私がマスクしている sys-apps/coreutils , net-libs/libnsl パッケージが問題になっている。

!!! The following installed packages are masked:

  • sys-apps/coreutils-8.32-r1::gentoo (masked by: package.mask)
  • net-libs/libnsl-1.3.0-r2::gentoo (masked by: package.mask)
  • sys-libs/glibc-2.35-r8::gentoo (masked by: package.mask) /var/db/repos/gentoo/profiles/package.mask:

Andreas K. Hüttel dilfridge@gentoo.org (2017-05-21)

(and others, updated later)

These old versions of toolchain packages (binutils, gcc, glibc) are no

longer officially supported and are not suitable for general use. Using

these packages can result in build failures (and possible breakage) for

many packages, and may leave your system vulnerable to known security

exploits.

If you still use one of these old toolchain packages, please upgrade (and

switch the compiler / the binutils) ASAP. If you need them for a specific

(isolated) use case, feel free to unmask them on your system.

  • sys-apps/systemd-tmpfiles-249.9::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.

sys-apps/coreutils-8.32 net-libs/libnsl-1.3.0


を外す

dev-lang/python-exec のアプデを試す。

$ sudo emerge –ask –update –verbose-conflicts dev-lang/python-exec

These are the packages that would be merged, in order: Calculating dependencies… done!

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-lang/python-exec:2

(dev-lang/python-exec-2.4.10:2/2::gentoo, ebuild scheduled for merge) USE="(native-symlinks) -test" PYTHON_TARGETS="(pypy3) (python3_10) (python3_11) (-python3_12)" conflicts with dev-lang/python-exec[python_targets_python3_9(-)] required by (dev-lang/python-3.9.13_p6-1:3.9/3.9::gentoo, installed) USE=“ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig”

dev-lang/python-exec[python_targets_python3_8(-)] required by (dev-lang/python-3.8.13_p8-1:3.8/3.8::gentoo, installed) USE="ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig -wininst"

現在、python 3.10 もインストールしているが、古い3.8 , 3.9の依存が問題になっている。
念のため現在使っているpythonのデフォルトのバージョンを調べる。


sudo emerge –ask eselect-python sudo emerge –ask –update eselect


デフォルトのバージョンの確認

eselect python list



python-3.8, python-3.9 への依存の確認

equery d -a =dev-lang/python-3.8* equery d -a =dev-lang/python-3.9*


Python 3.8, 3.9 に依存しているパッケージの一覧が表示されます。
これらのパッケージがないか、またはこれらのパッケージが新しいバージョンのPythonでも動作することを確認する。

私の場合

dev-embedded/rpi-64bit-meta-1.5.1-r7 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-1.5.2-r8 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-1.5.3-r4 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-1.5.4-r7 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-1.6.0-r6 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-2.0.0-r1 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-2.0.0-r2 (dev-lang/python:3.7[pgo(-)])
dev-embedded/rpi-64bit-meta-2.0.0-r3 (dev-lang/python:3.7[pgo(-)])

 * ERROR: dev-python/colorzero-1.1::genpi64 failed (depend phase):
 *   No supported implementation in PYTHON_COMPAT.
 *
 * Call stack:
 *                ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/colorzero/colorzero-1.1.ebuild'
 *     colorzero-1.1.ebuild, line   8:  Called inherit 'distutils-r1'
 *                ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *                ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *      distutils-r1.eclass, line 197:  Called inherit 'python-r1'
 *                ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *                ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *         python-r1.eclass, line 236:  Called _python_set_globals
 *         python-r1.eclass, line 190:  Called _python_set_impls
 *   python-utils-r1.eclass, line 178:  Called die
 * The specific snippet of code:
 *              die "No supported implementation in PYTHON_COMPAT."
 *
 * If you need support, post the output of `emerge --info '=dev-python/colorzero-1.1::genpi64'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/colorzero-1.1::genpi64'`.
 * Working directory: '/usr/lib/python3.10/site-packages'
 * S: '/var/tmp/portage/dev-python/colorzero-1.1/work/colorzero-1.1'




  * ERROR: dev-python/gpiozero-1.5.1::genpi64 failed (depend phase):
 *   No supported implementation in PYTHON_COMPAT.
 *
 * Call stack:
 *                ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/gpiozero/gpiozero-1.5.1.ebuild'
 *    gpiozero-1.5.1.ebuild, line   8:  Called inherit 'distutils-r1'
 *                ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *                ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *      distutils-r1.eclass, line 197:  Called inherit 'python-r1'
 *                ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *                ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *         python-r1.eclass, line 236:  Called _python_set_globals
 *         python-r1.eclass, line 190:  Called _python_set_impls
 *   python-utils-r1.eclass, line 178:  Called die
 * The specific snippet of code:
 *              die "No supported implementation in PYTHON_COMPAT."
 *
 * If you need support, post the output of `emerge --info '=dev-python/gpiozero-1.5.1::genpi64'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/gpiozero-1.5.1::genpi64'`.
 * Working directory: '/usr/lib/python3.10/site-packages'
 * S: '/var/tmp/portage/dev-python/gpiozero-1.5.1/work/gpiozero-1.5.1'



dev-python/pypy-exe-7.3.11 (!low-memory ? dev-lang/python:2.7)
dev-python/pypy-exe-7.3.12 (!low-memory ? dev-lang/python:2.7)


 www-client/seamonkey-2.53.15-r1 (dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)])



 * ERROR: dev-python/rpi-gpio-0.7.0::genpi64 failed (depend phase):
 *   No supported implementation in PYTHON_COMPAT.
 *
 * Call stack:
 *                ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/rpi-gpio/rpi-gpio-0.7.0.ebuild'
 *    rpi-gpio-0.7.0.ebuild, line   8:  Called inherit 'eutils' 'distutils-r1'
 *                ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *                ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *      distutils-r1.eclass, line 197:  Called inherit 'python-r1'
 *                ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *                ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *         python-r1.eclass, line 236:  Called _python_set_globals
 *         python-r1.eclass, line 190:  Called _python_set_impls
 *   python-utils-r1.eclass, line 178:  Called die
 * The specific snippet of code:
 *              die "No supported implementation in PYTHON_COMPAT."
 *
 * If you need support, post the output of `emerge --info '=dev-python/rpi-gpio-0.7.0::genpi64'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/rpi-gpio-0.7.0::genpi64'`.
 * Working directory: '/usr/lib/python3.10/site-packages'
 * S: '/var/tmp/portage/dev-python/rpi-gpio-0.7.0/work/rpi-gpio-0.7.0'





  * ERROR: sys-apps/pyconfig_gen-1.2.0::genpi64 failed (depend phase):
 *   No supported implementation in PYTHON_COMPAT.
 *
 * Call stack:
 *                   ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/sys-apps/pyconfig_gen/pyconfig_gen-1.2.0.ebuild'
 *   pyconfig_gen-1.2.0.ebuild, line   7:  Called inherit 'distutils-r1' 'desktop' 'xdg-utils'
 *                   ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *                   ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *         distutils-r1.eclass, line 197:  Called inherit 'python-r1'
 *                   ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *                   ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *            python-r1.eclass, line 236:  Called _python_set_globals
 *            python-r1.eclass, line 190:  Called _python_set_impls
 *      python-utils-r1.eclass, line 178:  Called die
 * The specific snippet of code:
 *              die "No supported implementation in PYTHON_COMPAT."
 *
 * If you need support, post the output of `emerge --info '=sys-apps/pyconfig_gen-1.2.0::genpi64'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/pyconfig_gen-1.2.0::genpi64'`.
 * Working directory: '/usr/lib/python3.10/site-packages'
 * S: '/var/tmp/portage/sys-apps/pyconfig_gen-1.2.0/work/pyconfig_gen-1.2.0'




  * ERROR: sys-apps/pyconfig_gen-1.2.0::genpi64 failed (depend phase):
 *   No supported implementation in PYTHON_COMPAT.
 *
 * Call stack:
 *                   ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/sys-apps/pyconfig_gen/pyconfig_gen-1.2.0.ebuild'
 *   pyconfig_gen-1.2.0.ebuild, line   7:  Called inherit 'distutils-r1' 'desktop' 'xdg-utils'
 *                   ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *                   ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
 *         distutils-r1.eclass, line 197:  Called inherit 'python-r1'
 *                   ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *                   ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
 *            python-r1.eclass, line 236:  Called _python_set_globals
 *            python-r1.eclass, line 190:  Called _python_set_impls
 *      python-utils-r1.eclass, line 178:  Called die
 * The specific snippet of code:
 *              die "No supported implementation in PYTHON_COMPAT."
 *
 * If you need support, post the output of `emerge --info '=sys-apps/pyconfig_gen-1.2.0::genpi64'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/pyconfig_gen-1.2.0::genpi64'`.
 * Working directory: '/usr/lib/python3.10/site-packages'
 * S: '/var/tmp/portage/sys-apps/pyconfig_gen-1.2.0/work/pyconfig_gen-1.2.0'







  * ERROR: xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64 failed (depend phase):
 *   autotools: EAPI 5 not supported
 *
 * Call stack:
 *                            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/xfce-extra/xfce4-cpugraph-plugin/xfce4-cpugraph-plugin-1.0.5.ebuild'
 *   xfce4-cpugraph-plugin-1.0.5.ebuild, line   5:  Called inherit 'xfconf'
 *                            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/genpi64/eclass/xfconf.eclass'
 *                            ebuild.sh, line 109:  Called source '/var/db/repos/genpi64/eclass/xfconf.eclass'
 *                        xfconf.eclass, line  32:  Called inherit 'autotools' 'eutils' 'gnome2-utils' 'libtool' 'xdg-utils'
 *                            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/autotools.eclass'
 *                            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/autotools.eclass'
 *                     autotools.eclass, line  18:  Called die
 * The specific snippet of code:
 *      *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 *
 * If you need support, post the output of `emerge --info '=xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64'`,
 * the complete build log and the output of `emerge -pqv '=xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64'`.
 * Working directory: '/usr/lib/python3.10/site-packages'
 * S: '/var/tmp/portage/xfce-extra/xfce4-cpugraph-plugin-1.0.5/work/xfce4-cpugraph-plugin-1.0.5'


# @worldするとsystemdが求められる

ついに...という感じではある。
私は elogind を使いたい。 が、systemdを勧められる。

sudo emerge –ask –update –newuse @world

These are the packages that would be merged, in order:

Calculating dependencies… done!

emerge: there are no ebuilds built with USE flags to satisfy “>=sys-apps/dbus-1.9.8[systemd]”. !!! One of the following packages is required to complete your request:

  • sys-apps/dbus-1.15.4-r1::gentoo (Change USE: +systemd, this change violates use flag constraints defined by sys-apps/dbus-1.15.4-r1: ‘at-most-one-of ( elogind systemd )') (dependency required by “sys-apps/systemd-253.3-r1::gentoo” [ebuild]) (dependency required by “virtual/tmpfiles-0-r3::gentoo” [installed]) (dependency required by “app-portage/eix-0.36.6::gentoo” [ebuild]) (dependency required by “@profile” [set]) (dependency required by “@world” [argument])

/etc/portage/make.conf の USE を確認

-systemd elogind


となっていた。他パッケージでsystemdを利用するものがある可能性があるが、一旦、dbusだけで、elogindでビルドしなおす。



# 古いpythonの削除

現在python3.10を使っているが
古いpython 3.8, 3.9が残っていてアップデートができない

具体的には、新しいdev-lang/python-exec-2.4.10がpython3_10とpython3_11をサポートしている一方で、
すでにインストールされているdev-lang/python-3.8.13_p8-1とdev-lang/python-3.9.13_p6-1がpython3_8とpython3_9を必要としているため、
この競合が発生している。


sudo emerge –ask –update –verbose-conflicts dev-lang/python-exec

These are the packages that would be merged, in order:

Calculating dependencies… done!

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-lang/python-exec:2

(dev-lang/python-exec-2.4.10:2/2::gentoo, ebuild scheduled for merge) USE="(native-symlinks) -test" PYTHON_TARGETS="(pypy3) (python3_10) (python3_11) (-python3_12)" conflicts with dev-lang/python-exec[python_targets_python3_8(-)] required by (dev-lang/python-3.8.13_p8-1:3.8/3.8::gentoo, installed) USE=“ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig -wininst”

dev-lang/python-exec[python_targets_python3_9(-)] required by (dev-lang/python-3.9.13_p6-1:3.9/3.9::gentoo, installed) USE="ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig"

現在のデフォルトのpythonのバージョンを確認


デフォルトのpythonのバージョンを確認するためのeselectモジュールが入っているか確認。
j

sudo emerge –search eselect-python


入っていなければ下記でインストール

sudo emerge –ask eselect-python sudo emerge –ask –update eselect


現在のpythonの利用状況を確認

eselect python list


デフォルトでは3.10が優先される

Available Python interpreters, in order of preference: [1] python3.10 [2] python3.9 [3] python3.8 (fallback)



削除したいPythonのバージョンが他のパッケージによって依存されていないことを確認する。

equery d -a =dev-lang/python-3.8*


私の場合... GenPi64関係のパッケージが新しいEAPIに対応してない以外はだいたい大丈夫。
あるいは使っていないパッケージだった。

$ sudo equery d -a =dev-lang/python-3.8*

  • These packages depend on dev-lang/python-3.8: dev-embedded/rpi-64bit-meta-1.5.1-r7 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.5.2-r8 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.5.3-r4 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.5.4-r7 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.6.0-r6 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-2.0.0-r1 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-2.0.0-r2 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-2.0.0-r3 (dev-lang/python:3.7[pgo(-)])

  • ERROR: dev-python/colorzero-1.1::genpi64 failed (depend phase):

  • No supported implementation in PYTHON_COMPAT.

  • Call stack:

  •            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/colorzero/colorzero-1.1.ebuild'
    
  • colorzero-1.1.ebuild, line   8:  Called inherit 'distutils-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •  distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •     python-r1.eclass, line 236:  Called _python_set_globals
    
  •     python-r1.eclass, line 190:  Called _python_set_impls
    
  • python-utils-r1.eclass, line 178: Called die

  • The specific snippet of code:

  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=dev-python/colorzero-1.1::genpi64',

  • the complete build log and the output of emerge -pqv '=dev-python/colorzero-1.1::genpi64'.

  • Working directory: ‘/usr/lib/python3.10/site-packages’

  • S: ‘/var/tmp/portage/dev-python/colorzero-1.1/work/colorzero-1.1’

  • ERROR: dev-python/gpiozero-1.5.1::genpi64 failed (depend phase):

  • No supported implementation in PYTHON_COMPAT.

  • Call stack:

  •            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/gpiozero/gpiozero-1.5.1.ebuild'
    
  • gpiozero-1.5.1.ebuild, line 8: Called inherit ‘distutils-r1’

  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •  distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •     python-r1.eclass, line 236:  Called _python_set_globals
    
  •     python-r1.eclass, line 190:  Called _python_set_impls
    
  • python-utils-r1.eclass, line 178: Called die

  • The specific snippet of code:

  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=dev-python/gpiozero-1.5.1::genpi64',

  • the complete build log and the output of emerge -pqv '=dev-python/gpiozero-1.5.1::genpi64'.

  • Working directory: ‘/usr/lib/python3.10/site-packages’

  • S: ‘/var/tmp/portage/dev-python/gpiozero-1.5.1/work/gpiozero-1.5.1’

dev-python/pypy-exe-7.3.11 (!low-memory ? dev-lang/python:2.7) dev-python/pypy-exe-7.3.12 (!low-memory ? dev-lang/python:2.7)

  • ERROR: dev-python/rpi-gpio-0.7.0::genpi64 failed (depend phase):
  • No supported implementation in PYTHON_COMPAT.
  • Call stack:
  •            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/rpi-gpio/rpi-gpio-0.7.0.ebuild'
    
  • rpi-gpio-0.7.0.ebuild, line 8: Called inherit ‘eutils’ ‘distutils-r1’
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •  distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •     python-r1.eclass, line 236:  Called _python_set_globals
    
  •     python-r1.eclass, line 190:  Called _python_set_impls
    
  • python-utils-r1.eclass, line 178: Called die
  • The specific snippet of code:
  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=dev-python/rpi-gpio-0.7.0::genpi64',
  • the complete build log and the output of emerge -pqv '=dev-python/rpi-gpio-0.7.0::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/dev-python/rpi-gpio-0.7.0/work/rpi-gpio-0.7.0’

net-misc/electron-cash-4.2.11 (ncurses ? dev-lang/python)

sci-chemistry/openbabel-3.1.1_p20210225 (test ? dev-lang/python)

sci-chemistry/openbabel-9999 (test ? dev-lang/python) sci-libs/tensorflow-2.10.0 (!python ? dev-lang/python) sci-libs/tensorflow-2.11.0 (!python ? dev-lang/python) sci-libs/tensorflow-2.12.0 (!python ? dev-lang/python)

  • ERROR: sys-apps/pyconfig_gen-1.2.0::genpi64 failed (depend phase):
  • No supported implementation in PYTHON_COMPAT.
  • Call stack:
  •               ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/sys-apps/pyconfig_gen/pyconfig_gen-1.2.0.ebuild'
    
  • pyconfig_gen-1.2.0.ebuild, line 7: Called inherit ‘distutils-r1’ ‘desktop’ ‘xdg-utils’
  •               ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •               ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •     distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •               ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •               ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •        python-r1.eclass, line 236:  Called _python_set_globals
    
  •        python-r1.eclass, line 190:  Called _python_set_impls
    
  •  python-utils-r1.eclass, line 178:  Called die
    
  • The specific snippet of code:
  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=sys-apps/pyconfig_gen-1.2.0::genpi64',
  • the complete build log and the output of emerge -pqv '=sys-apps/pyconfig_gen-1.2.0::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/sys-apps/pyconfig_gen-1.2.0/work/pyconfig_gen-1.2.0’

www-client/seamonkey-2.53.15-r1 (dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)])

  • ERROR: xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64 failed (depend phase):
  • autotools: EAPI 5 not supported
  • Call stack:
  •                        ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/xfce-extra/xfce4-cpugraph-plugin/xfce4-cpugraph-plugin-1.0.5.ebuild'
    
  • xfce4-cpugraph-plugin-1.0.5.ebuild, line 5: Called inherit ‘xfconf’
  •                        ebuild.sh, line 294:  Called __qa_source '/var/db/repos/genpi64/eclass/xfconf.eclass'
    
  •                        ebuild.sh, line 109:  Called source '/var/db/repos/genpi64/eclass/xfconf.eclass'
    
  •                    xfconf.eclass, line  32:  Called inherit 'autotools' 'eutils' 'gnome2-utils' 'libtool' 'xdg-utils'
    
  •                        ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/autotools.eclass'
    
  •                        ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/autotools.eclass'
    
  •                 autotools.eclass, line  18:  Called die
    
  • The specific snippet of code:
  •  *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
    
  • If you need support, post the output of emerge --info '=xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64',
  • the complete build log and the output of emerge -pqv '=xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/xfce-extra/xfce4-cpugraph-plugin-1.0.5/work/xfce4-cpugraph-plugin-1.0.5’


sudo equery d -a =dev-lang/python-3.9*


$ sudo equery d -a =dev-lang/python-3.9*

  • These packages depend on dev-lang/python-3.9: app-admin/ansible-6.2.0 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) app-admin/ansible-core-2.13.3 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) app-emulation/qemu-7.0.0-r3 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) app-misc/ca-certificates-20211016.3.80 (>=dev-lang/python-3.9.12:3.9) (>=dev-lang/python-3.8.13:3.8) app-portage/flaggie-0.2.1-r1 (>=dev-lang/python-3.9.9-r1:3.9) app-portage/gemato-16.2 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) app-portage/gentoolkit-0.5.1-r1 (>=dev-lang/python-3.8.13:3.8[xml(+),threads(+)]) (>=dev-lang/python-3.9.12:3.9[xml(+),threads(+)]) app-portage/repoman-3.0.3-r2 (>=dev-lang/python-3.8.13:3.8[bzip2(+)]) (>=dev-lang/python-3.9.12:3.9[bzip2(+)]) dev-embedded/rpi-64bit-meta-1.5.1-r7 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.5.2-r8 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.5.3-r4 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.5.4-r7 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-1.6.0-r6 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-2.0.0-r1 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-2.0.0-r2 (dev-lang/python:3.7[pgo(-)]) dev-embedded/rpi-64bit-meta-2.0.0-r3 (dev-lang/python:3.7[pgo(-)]) dev-libs/glib-2.72.3 (>=dev-lang/python-3.9.12:3.9[xml(+)]) (>=dev-lang/python-3.8.13:3.8[xml(+)]) dev-libs/icu-71.1-r1 (>=dev-lang/python-3.9.12:3.9) (>=dev-lang/python-3.8.13:3.8) dev-libs/newt-0.52.21_p20210816 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/bcrypt-3.2.2 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/certifi-3021.3.16-r2 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/cffi-1.15.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/chardet-5.0.0 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/charset_normalizer-2.1.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9)
  • ERROR: dev-python/colorzero-1.1::genpi64 failed (depend phase):
  • No supported implementation in PYTHON_COMPAT.
  • Call stack:
  •            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/colorzero/colorzero-1.1.ebuild'
    
  • colorzero-1.1.ebuild, line   8:  Called inherit 'distutils-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •  distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •     python-r1.eclass, line 236:  Called _python_set_globals
    
  •     python-r1.eclass, line 190:  Called _python_set_impls
    
  • python-utils-r1.eclass, line 178: Called die
  • The specific snippet of code:
  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=dev-python/colorzero-1.1::genpi64',
  • the complete build log and the output of emerge -pqv '=dev-python/colorzero-1.1::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/dev-python/colorzero-1.1/work/colorzero-1.1’ dev-python/cryptography-37.0.4 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) dev-python/cython-0.29.32 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) dev-python/flit-core-3.7.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/gpep517-9 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9)
  • ERROR: dev-python/gpiozero-1.5.1::genpi64 failed (depend phase):
  • No supported implementation in PYTHON_COMPAT.
  • Call stack:
  •            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/gpiozero/gpiozero-1.5.1.ebuild'
    
  • gpiozero-1.5.1.ebuild, line 8: Called inherit ‘distutils-r1’
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •  distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •     python-r1.eclass, line 236:  Called _python_set_globals
    
  •     python-r1.eclass, line 190:  Called _python_set_impls
    
  • python-utils-r1.eclass, line 178: Called die
  • The specific snippet of code:
  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=dev-python/gpiozero-1.5.1::genpi64',
  • the complete build log and the output of emerge -pqv '=dev-python/gpiozero-1.5.1::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/dev-python/gpiozero-1.5.1/work/gpiozero-1.5.1’ dev-python/httplib2-0.20.4 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/idna-3.3-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/importlib-metadata-4.12.0 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/importlib-resources-5.9.0 (>=dev-lang/python-3.8.13:3.8) dev-python/installer-0.5.1-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/jaraco-context-4.1.2 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/jaraco-functools-3.5.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/jaraco-text-3.8.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/lazy-object-proxy-1.7.1-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/lxml-4.9.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/markupsafe-2.1.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/more-itertools-8.14.0 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/paramiko-2.11.0 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) dev-python/pathspec-0.9.0-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/pbr-5.10.0 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) dev-python/pyasn1-0.4.8-r2 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/pycairo-1.21.0 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) dev-python/pycparser-2.21-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/pygments-2.13.0 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/pygobject-3.42.2 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/pynacl-1.5.0-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/pypy-exe-7.3.11 (!low-memory ? dev-lang/python:2.7) dev-python/pypy-exe-7.3.12 (!low-memory ? dev-lang/python:2.7) dev-python/requests-2.28.1 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)])
  • ERROR: dev-python/rpi-gpio-0.7.0::genpi64 failed (depend phase):
  • No supported implementation in PYTHON_COMPAT.
  • Call stack:
  •            ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/dev-python/rpi-gpio/rpi-gpio-0.7.0.ebuild'
    
  • rpi-gpio-0.7.0.ebuild, line 8: Called inherit ‘eutils’ ‘distutils-r1’
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •  distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •            ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •            ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •     python-r1.eclass, line 236:  Called _python_set_globals
    
  •     python-r1.eclass, line 190:  Called _python_set_impls
    
  • python-utils-r1.eclass, line 178: Called die
  • The specific snippet of code:
  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=dev-python/rpi-gpio-0.7.0::genpi64',
  • the complete build log and the output of emerge -pqv '=dev-python/rpi-gpio-0.7.0::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/dev-python/rpi-gpio-0.7.0/work/rpi-gpio-0.7.0’ dev-python/setuptools-63.4.3 (>=dev-lang/python-3.8.13:3.8[xml(+)]) (>=dev-lang/python-3.9.12:3.9[xml(+)]) dev-python/setuptools-rust-1.5.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/setuptools-scm-7.0.5 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/snakeoil-0.9.12 (>=dev-lang/python-3.8.13:3.8[threads(+)]) (>=dev-lang/python-3.9.12:3.9[threads(+)]) dev-python/tree-sitter-0.20.0-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/typing-extensions-4.3.0 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/urllib3-1.26.11 (>=dev-lang/python-3.8.13:3.8[ssl(+)]) (>=dev-lang/python-3.9.12:3.9[ssl(+)]) dev-python/wheel-0.37.1-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-python/zipp-3.8.1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-util/ninja-1.11.0 (>=dev-lang/python-3.9.12:3.9) (>=dev-lang/python-3.8.13:3.8) dev-util/pkgcheck-0.10.14 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) dev-util/pkgdev-0.2.1-r2 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) net-misc/electron-cash-4.2.11 (ncurses ? dev-lang/python) net-misc/networkmanager-1.38.4 (>=dev-lang/python-3.9.12:3.9) (>=dev-lang/python-3.8.13:3.8) sci-chemistry/openbabel-3.1.1_p20210225 (test ? dev-lang/python) sci-chemistry/openbabel-9999 (test ? dev-lang/python) sci-libs/tensorflow-2.10.0 (!python ? dev-lang/python) sci-libs/tensorflow-2.11.0 (!python ? dev-lang/python) sci-libs/tensorflow-2.12.0 (!python ? dev-lang/python) sys-apps/pkgcore-0.12.13-r1 (>=dev-lang/python-3.8.13:3.8) (>=dev-lang/python-3.9.12:3.9) sys-apps/portage-3.0.36 (>=dev-lang/python-3.8.13:3.8[ssl(+)]) (>=dev-lang/python-3.9.12:3.9[ssl(+)]) (>=dev-lang/python-3.8.13:3.8[bzip2(+),threads(+)]) (>=dev-lang/python-3.9.12:3.9[bzip2(+),threads(+)])
  • ERROR: sys-apps/pyconfig_gen-1.2.0::genpi64 failed (depend phase):
  • No supported implementation in PYTHON_COMPAT.
  • Call stack:
  •               ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/sys-apps/pyconfig_gen/pyconfig_gen-1.2.0.ebuild'
    
  • pyconfig_gen-1.2.0.ebuild, line 7: Called inherit ‘distutils-r1’ ‘desktop’ ‘xdg-utils’
  •               ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •               ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/distutils-r1.eclass'
    
  •     distutils-r1.eclass, line 197:  Called inherit 'python-r1'
    
  •               ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •               ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/python-r1.eclass'
    
  •        python-r1.eclass, line 236:  Called _python_set_globals
    
  •        python-r1.eclass, line 190:  Called _python_set_impls
    
  •  python-utils-r1.eclass, line 178:  Called die
    
  • The specific snippet of code:
  •          die "No supported implementation in PYTHON_COMPAT."
    
  • If you need support, post the output of emerge --info '=sys-apps/pyconfig_gen-1.2.0::genpi64',
  • the complete build log and the output of emerge -pqv '=sys-apps/pyconfig_gen-1.2.0::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/sys-apps/pyconfig_gen-1.2.0/work/pyconfig_gen-1.2.0’ sys-apps/systemd-tmpfiles-249.9 (>=dev-lang/python-3.9.9-r1:3.9) (>=dev-lang/python-3.8.12_p1-r1:3.8) sys-devel/distcc-3.4 (>=dev-lang/python-3.9.9-r1:3.9) sys-kernel/raspberrypi-kernel-5.10.11 (>=dev-lang/python-3.9.9-r1:3.9) (>=dev-lang/python-3.8.12_p1-r1:3.8) sys-libs/glibc-2.35-r8 (>=dev-lang/python-3.9.12:3.9) (>=dev-lang/python-3.8.13:3.8) sys-process/iotop-0.6 (>=dev-lang/python-3.8.13:3.8[ncurses(+)]) (>=dev-lang/python-3.9.12:3.9[ncurses(+)]) www-client/seamonkey-2.53.15-r1 (dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)])
  • ERROR: xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64 failed (depend phase):
  • autotools: EAPI 5 not supported
  • Call stack:
  •                        ebuild.sh, line 614:  Called source '/var/db/repos/genpi64/xfce-extra/xfce4-cpugraph-plugin/xfce4-cpugraph-plugin-1.0.5.ebuild'
    
  • xfce4-cpugraph-plugin-1.0.5.ebuild, line 5: Called inherit ‘xfconf’
  •                        ebuild.sh, line 294:  Called __qa_source '/var/db/repos/genpi64/eclass/xfconf.eclass'
    
  •                        ebuild.sh, line 109:  Called source '/var/db/repos/genpi64/eclass/xfconf.eclass'
    
  •                    xfconf.eclass, line  32:  Called inherit 'autotools' 'eutils' 'gnome2-utils' 'libtool' 'xdg-utils'
    
  •                        ebuild.sh, line 294:  Called __qa_source '/var/db/repos/gentoo/eclass/autotools.eclass'
    
  •                        ebuild.sh, line 109:  Called source '/var/db/repos/gentoo/eclass/autotools.eclass'
    
  •                 autotools.eclass, line  18:  Called die
    
  • The specific snippet of code:
  •  *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
    
  • If you need support, post the output of emerge --info '=xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64',
  • the complete build log and the output of emerge -pqv '=xfce-extra/xfce4-cpugraph-plugin-1.0.5::genpi64'.
  • Working directory: ‘/usr/lib/python3.10/site-packages’
  • S: ‘/var/tmp/portage/xfce-extra/xfce4-cpugraph-plugin-1.0.5/work/xfce4-cpugraph-plugin-1.0.5’

削除する


$ sudo emerge –ask –unmerge “dev-lang/python-3.8*”

  • This action can remove important packages! In order to be safer, use
  • emerge -pv --depclean <atom> to check for reverse dependencies before
  • removing packages.

These are the packages that would be unmerged:

dev-lang/python selected: 3.8.13_p8 protected: none omitted: 3.9.13_p6 3.10.6_p3

All selected packages: =dev-lang/python-3.8.13_p8

‘Selected’ packages are slated for removal. ‘Protected’ and ‘omitted’ packages will not be removed.

Would you like to unmerge these packages? [Yes/No] Yes

Waiting 5 seconds before starting… (Control-C to abort)… Unmerging in: 5 4 3 2 1 Unmerging (1 of 1) dev-lang/python-3.8.13_p8…

  • GNU info directory index is up-to-date.

!!! existing preserved libs:

package: dev-libs/libffi-3.4.2-r2

    • /usr/lib64/libffi.so.7
    • /usr/lib64/libffi.so.7.1.0
  •  used by /usr/bin/micropython (dev-lang/micropython-1.11-r1)
    

Use emerge @preserved-rebuild to rebuild packages using these libraries $ sudo emerge –ask –unmerge “dev-lang/python-3.9*”

  • This action can remove important packages! In order to be safer, use
  • emerge -pv --depclean <atom> to check for reverse dependencies before
  • removing packages.

These are the packages that would be unmerged:

dev-lang/python selected: 3.9.13_p6 protected: none omitted: 3.10.6_p3

All selected packages: =dev-lang/python-3.9.13_p6

‘Selected’ packages are slated for removal. ‘Protected’ and ‘omitted’ packages will not be removed.

Would you like to unmerge these packages? [Yes/No] Yes

Waiting 5 seconds before starting… (Control-C to abort)… Unmerging in: 5 4 3 2 1 Unmerging (1 of 1) dev-lang/python-3.9.13_p6…

  • GNU info directory index is up-to-date.

!!! existing preserved libs:

package: dev-libs/libffi-3.4.2-r2

    • /usr/lib64/libffi.so.7
    • /usr/lib64/libffi.so.7.1.0
  •  used by /usr/bin/micropython (dev-lang/micropython-1.11-r1)
    

Use emerge @preserved-rebuild to rebuild packages using these libraries



sudo emerge –ask –depclean =dev-lang/python-3.8* sudo emerge –ask –depclean =dev-lang/python-3.9*


目的のパッケージをアップデートできた。

sudo emerge –ask –newuse –update –deep –verbose-conflicts dev-lang/python-exec

These are the packages that would be merged, in order:

Calculating dependencies… done! [ebuild R ] dev-lang/python-exec-conf-2.4.6 PYTHON_TARGETS=“python3_11* (-python3_12) (-python3_8%) (-python3_9%)”

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-lang/python-exec:2

(dev-lang/python-exec-2.4.10:2/2::gentoo, ebuild scheduled for merge) USE="(native-symlinks) -test" PYTHON_TARGETS="(pypy3) (python3_10) (python3_11) (-python3_12)" conflicts with dev-lang/python-exec[python_targets_python3_9(-)] required by (dev-lang/python-3.9.13_p6-1:3.9/3.9::gentoo, installed) USE=“ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig”

dev-lang/python-exec[python_targets_python3_8(-)] required by (dev-lang/python-3.8.13_p8-1:3.8/3.8::gentoo, installed) USE="ensurepip gdbm ncurses pgo readline sqlite ssl userland_GNU xml -bluetooth -build -examples (-hardened) -lto -test -tk -verify-sig -wininst"

!!! The following installed packages are masked:

  • sys-libs/glibc-2.35-r8::gentoo (masked by: package.mask) /var/db/repos/gentoo/profiles/package.mask:

Andreas K. Hüttel dilfridge@gentoo.org (2017-05-21)

(and others, updated later)

These old versions of toolchain packages (binutils, gcc, glibc) are no

longer officially supported and are not suitable for general use. Using

these packages can result in build failures (and possible breakage) for

many packages, and may leave your system vulnerable to known security

exploits.

If you still use one of these old toolchain packages, please upgrade (and

switch the compiler / the binutils) ASAP. If you need them for a specific

(isolated) use case, feel free to unmask them on your system.

  • sys-apps/systemd-tmpfiles-249.9::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.

Would you like to merge these packages? [Yes/No] Yes

Verifying ebuild manifests

Emerging (1 of 1) dev-lang/python-exec-conf-2.4.6::gentoo

  • python-exec-2.4.6.tar.bz2 BLAKE2B SHA512 size ;-) … [ ok ]

Unpacking source… Unpacking python-exec-2.4.6.tar.bz2 to /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/work Source unpacked in /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/work Preparing source in /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/work/python-exec-2.4.6 … Source prepared. Configuring source in /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/work/python-exec-2.4.6 … Source configured. Compiling source in /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/work/python-exec-2.4.6 … Source compiled. Test phase [not enabled]: dev-lang/python-exec-conf-2.4.6

Install dev-lang/python-exec-conf-2.4.6 into /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/image Completed installing dev-lang/python-exec-conf-2.4.6 into /var/tmp/portage/dev-lang/python-exec-conf-2.4.6/image

  • Final size of build directory: 508 KiB
  • Final size of installed tree: 4 KiB

Done.

Installing (1 of 1) dev-lang/python-exec-conf-2.4.6::gentoo

  • GNU info directory index is up-to-date.

!!! existing preserved libs:

package: dev-libs/libffi-3.4.2-r2

    • /usr/lib64/libffi.so.7
    • /usr/lib64/libffi.so.7.1.0
  •  used by /usr/bin/micropython (dev-lang/micropython-1.11-r1)
    

Use emerge @preserved-rebuild to rebuild packages using these libraries


インストールできるようになった。

sudo emerge –ask –update –newuse dev-lang/python-exec

These are the packages that would be merged, in order:

Calculating dependencies… done! [ebuild U ] dev-lang/python-exec-2.4.10 [2.4.9] PYTHON_TARGETS="(python3_11*) (-python3_12)"

!!! The following installed packages are masked:

  • sys-libs/glibc-2.35-r8::gentoo (masked by: package.mask) /var/db/repos/gentoo/profiles/package.mask:

Andreas K. Hüttel dilfridge@gentoo.org (2017-05-21)

(and others, updated later)

These old versions of toolchain packages (binutils, gcc, glibc) are no

longer officially supported and are not suitable for general use. Using

these packages can result in build failures (and possible breakage) for

many packages, and may leave your system vulnerable to known security

exploits.

If you still use one of these old toolchain packages, please upgrade (and

switch the compiler / the binutils) ASAP. If you need them for a specific

(isolated) use case, feel free to unmask them on your system.

  • sys-apps/systemd-tmpfiles-249.9::gentoo (masked by: package.mask) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.

Would you like to merge these packages? [Yes/No] Yes


# 新しい EAPI が求められた

$ sudo emerge –ask –update –deep @system

These are the packages that would be merged, in order:

Calculating dependencies… done!

!!! All ebuilds that could satisfy “=dev-lang/perl-5.36*” have been masked. !!! One of the following masked packages is required to complete your request:

  • dev-lang/perl-5.36.1-r2::gentoo (masked by: package.mask, ~arm64 keyword) /etc/portage/package.mask/package.mask:

>sys-apps/man-pages-6.04

>app-i18n/man-pages-ja-20180315

>virtual/man-0-r4

  • dev-lang/perl-5.36.1::gentoo (masked by: package.mask, ~arm64 keyword)
  • dev-lang/perl-5.36.0-r2::gentoo (masked by: package.mask)
  • dev-lang/perl-5.36.0-r1::gentoo (masked by: package.mask)

(dependency required by “dev-perl/libwww-perl-6.530.0::gentoo” [ebuild]) (dependency required by “dev-perl/XML-Parser-2.460.0::gentoo” [ebuild]) (dependency required by “dev-util/intltool-0.51.0-r2::gentoo” [installed]) (dependency required by “sys-auth/elogind-246.10-r1::gentoo” [ebuild]) (dependency required by “sys-process/procps-3.3.17-r1::gentoo[elogind]” [ebuild]) (dependency required by “@system” [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.


下記のパッケージが依存している。

(dependency required by “dev-perl/libwww-perl-6.530.0::gentoo” [ebuild]) (dependency required by “dev-perl/XML-Parser-2.460.0::gentoo” [ebuild]) (dependency required by “dev-util/intltool-0.51.0-r2::gentoo” [installed]) (dependency required by “sys-auth/elogind-246.10-r1::gentoo” [ebuild]) (dependency required by “sys-process/procps-3.3.17-r1::gentoo[elogind]” [ebuild]) (dependency required by “@system” [argument])


ひとつひとつeixで現在のバージョンを確認してみる。

sudo eix-update
してから確認してみると、インストール済みの方が新しい?

$ eix sys-process/procps [I] sys-process/procps Available versions: 3.3.17-r1(0/8)^t {elogind +kill modern-top +ncurses nls selinux split-usr static-libs systemd test unicode ABI_MIPS=“n32 n64 o32” ABI_S390=“32 64” ABI_X86=“32 64 x32”} Installed versions: 3.3.17-r1(0/8)^t(12時07分02秒 2021年09月14日)(elogind kill ncurses nls split-usr unicode -modern-top -selinux -static-libs -systemd -test ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="-32 -64 -x32") Homepage: http://procps-ng.sourceforge.net/ https://gitlab.com/procps-ng/procps Description: Standard informational utilities and process-handling tools

$ eix sys-auth/elogind [U] sys-auth/elogind Available versions: 246.10-r3^t ~252.9^t {+acl audit +cgroup-hybrid debug doc +pam +policykit selinux test} Installed versions: 246.10-r2^t(23時03分08秒 2022年07月27日)(acl cgroup-hybrid pam -audit -debug -doc -policykit -selinux -test) Homepage: https://github.com/elogind/elogind Description: The systemd project’s logind, extracted to a standalone package

$ eix dev-util/intltool [I] dev-util/intltool Available versions: 0.51.0-r3 Installed versions: 0.51.0-r3(13時34分23秒 2022年08月11日) Homepage: https://launchpad.net/intltool/ Description: Internationalization Tool Collection

$ eix dev-perl/XML-Parser [I] dev-perl/XML-Parser Available versions: 2.460.0-r2 Installed versions: 2.460.0-r2(13時33分56秒 2022年08月11日) Homepage: https://metacpan.org/release/XML-Parser Description: A perl module for parsing XML documents

Found 2 matches $ eix dev-perl/libwww-perl [I] dev-perl/libwww-perl Available versions: 6.550.0^t ~6.580.0-r1^t 6.600.0-r1^t {ssl test} Installed versions: 6.600.0-r1^t(13時33分05秒 2022年08月11日)(ssl -test) Homepage: https://metacpan.org/release/libwww-perl Description: A collection of Perl Modules for the WWW



sudo emerge –ask –update –deep –verbose-conflicts @system

These are the packages that would be merged, in order:

Calculating dependencies… done!

!!! All ebuilds that could satisfy “=dev-lang/perl-5.36*” have been masked. !!! One of the following masked packages is required to complete your request:

  • dev-lang/perl-5.36.1-r2::gentoo (masked by: package.mask, ~arm64 keyword)
  • dev-lang/perl-5.36.1::gentoo (masked by: package.mask, ~arm64 keyword)
  • dev-lang/perl-5.36.0-r2::gentoo (masked by: package.mask)
  • dev-lang/perl-5.36.0-r1::gentoo (masked by: package.mask)

(dependency required by “virtual/perl-File-Spec-3.840.0::gentoo” [ebuild]) (dependency required by “dev-perl/Pod-Parser-1.630.0-r1::gentoo” [installed]) (dependency required by “app-text/po4a-0.66::gentoo” [installed]) (dependency required by “sys-apps/sysvinit-3.07::gentoo[nls]” [ebuild]) (dependency required by “sys-apps/openrc-0.44.10::gentoo” [installed]) (dependency required by “net-misc/netifrc-0.7.3::gentoo” [installed]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.



[Gentoo で長期間アップデートせずに EAPI が古くなってしまった場合の対処](https://gentoolinux.hatenablog.com/entry/2020/05/18/212346)を参考にすると portage が古い場合、こうなってしまうらしい。

sudo emerge –ask -qvO portage


でアップデートを試みた。 -qv0 の表示は良い。

  • IMPORTANT: 5 news items need reading for repository ‘gentoo’.
  • Use eselect news read to view new items.

[ebuild U ] sys-apps/portage-3.0.26 [3.0.18] USE="(ipc) native-extensions rsync-verify xattr -apidoc -build -doc -gentoo-dev (-selinux) -test" PYTHON_TARGETS=“python3_8 python3_9 -pypy3 -python3_10% (-python3_7%)”

Would you like to merge these packages? [Yes/No] Yes


# circular dependencies:

[循環依存](https://wiki.gentoo.org/wiki/Handbook:Parts/Full/Working/ja#.E5.BE.AA.E7.92.B0.E4.BE.9D.E5.AD.98)

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


[Bugzilla](https://bugs.gentoo.org/)で検索してみる。

###### 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 で検索してみた](https://bugs.gentoo.org/buglist.cgi?quicksearch=libcrypt)

最近更新された Buzgilla のトピックスで
[Project:Toolchain/libcrypt implementation](https://wiki.gentoo.org/wiki/Project:Toolchain/libcrypt_implementation#Developer_information)が見つかった。

`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”


2. パスワードは新しいものなので変更は不要

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


The current version of portage supports EAPI ‘7’. You must upgrade to a newer version of portage before EAPI masked packages can be installed.


EAPI の新しいものが出たら、portage をアップデートしないといけない。
という事らしい。のでアップデートする。

↓ 出力されたメッセージ

Calculating dependencies… done!

!!! All ebuilds that could satisfy “>=dev-perl/HTTP-Message-6.0.0” have been masked. !!! One of the following masked packages is required to complete your request:

  • dev-perl/HTTP-Message-6.320.0::gentoo (masked by: EAPI 8)

The current version of portage supports EAPI ‘7’. You must upgrade to a newer version of portage before EAPI masked packages can be installed. (dependency required by “dev-perl/libwww-perl-6.530.0::gentoo” [ebuild]) (dependency required by “dev-perl/XML-Parser-2.460.0::gentoo” [ebuild]) (dependency required by “dev-util/intltool-0.51.0-r2::gentoo” [installed]) (dependency required by “sys-auth/elogind-246.10-r1::gentoo” [ebuild]) (dependency required by “sys-apps/dbus-1.12.20-r3::gentoo[elogind]” [ebuild]) (dependency required by “net-wireless/bluez-5.60::gentoo[-systemd]” [ebuild]) (dependency required by “dev-lang/python-3.8.11::gentoo[bluetooth]” [ebuild]) (dependency required by “dev-util/meson-0.59.1::gentoo[python_targets_python3_8]” [ebuild]) (dependency required by “x11-base/xorg-proto-2021.4::gentoo” [ebuild]) (dependency required by “x11-misc/compose-tables-1.7.2::gentoo” [ebuild]) (dependency required by “x11-libs/libX11-1.7.2::gentoo” [ebuild]) (dependency required by “x11-libs/libXt-1.2.1::gentoo” [installed]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.


[2018/Sep/28 にも EAPI 7 が出て同様な話が出ていた。](https://forums.gentoo.org/viewtopic-t-1087032-start-0.html)

この時は下記がお勧めされていた。

emerge –sync emerge -qav python USE='-rsync-verify’ emerge -qavO portage emerge -qav portage


-qav0 は -q が --quiet、 -a --ask 、-v --verbose、 -0 はなんだろうか...man にも無いのだが。
USE='-rsync-verify'を付けているのは[この時のパッケージの依存関係によるものかもしれないので外して emerge を試みる](https://forums.gentoo.org/viewtopic-p-8265532.html?sid=e54e29b906104e659e2e503084b2ea93#8265532)

emerge –sync emerge -qav python emerge -qavO portage emerge -qav portage


エラーは EAPI のエラーは消えた。
いろいろ調べてからやってみたが、次回は素直に emerge portage を試す。

### python:3.8 だけアップデートしたい

emerge –ask “dev-lang/python:3.8”


背景

2022/03/06 初期セットアップ時、

emerge –ask –changed-use –deep app-containers/docker-compose


を行った際に下記のメッセージが出た。
app-containers/docker-compose は >=dev-lang/python-3.8.12_p1-r1:3.8 を満たす必要がある模様。

!!! All ebuilds that could satisfy “>=dev-lang/python-3.8.12_p1-r1:3.8” have been masked. !!! One of the following masked packages is required to complete your request:

  • dev-lang/python-3.8.12_p2::gentoo (masked by: )
  • dev-lang/python-3.8.12_p1-r2::gentoo (masked by: )
  • dev-lang/python-3.8.12_p1-r1::gentoo (masked by: )

(dependency required by “dev-python/pyyaml-5.4.1::gentoo[python_targets_python3_8]” [installed]) (dependency required by “app-containers/docker-compose-1.29.2-r1::gentoo[-test]” [ebuild]) (dependency required by “app-containers/docker-compose” [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.


eix で Python のインストール状況を確認すると、

- 3.8
- 3.9
- 3.10
  がインストール済みだった。3.8 だけ、新しいバージョンにしたい。

Gentoo には『スロット』の概念がある。
( 参考 https://kakurasan.hatenadiary.jp/entry/20081017/p1 )
スロットを指定して emerge する事で該当バージョンのマイナーバージョンアップができた。

emerge –ask “dev-lang/python:3.8”


# 特定スロットだけ削除

!!! The following installed packages are masked:

  • sys-devel/binutils-2.35.2::gentoo (masked by: package.mask) /var/db/repos/gentoo/profiles/package.mask:

Andreas K. Hüttel dilfridge@gentoo.org (2017-05-21)

(and others, updated later)

These old versions of toolchain packages (binutils, gcc, glibc) are no

longer officially supported and are not suitable for general use. Using

these packages can result in build failures (and possible breakage) for

many packages, and may leave your system vulnerable to known security

exploits.

If you still use one of these old toolchain packages, please upgrade (and

switch the compiler / the binutils) ASAP. If you need them for a specific

(isolated) use case, feel free to unmask them on your system.


というエラーが出た。 sys-devel/binutils の新しいものを emerge して、
eix sys-devel/binutils で複数バージョンがインストールされてる事を確認した後、

emerge -aC sys-devel/binutils:2.35


で削除した。

# GenPi64 の初期イメージから起動して、emerge --sync するとブランチが見つからないエラー

下記ファイルを修正する。

- /etc/portage/repos.conf/genpi64.conf

2022/07/20 時点では alph9 というブランチがなかった。
https://github.com/GenPi64/genpi64-overlay/branches
このため master を参照するようにする。

GenPi64 /home/demouser # emerge –sync

Syncing repository ‘gentoo’ into ‘/var/db/repos/gentoo’… /usr/bin/git fetch origin –depth 1 remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0

  • Using keys from /usr/share/openpgp-keys/gentoo-release.asc
  • Refreshing keys via WKD … [ ok ]
  • Trusted signature found on top commit === Sync completed for gentoo

Syncing repository ‘genpi64’ into ‘/var/db/repos/genpi64’… /usr/bin/git clone –depth 1 –single-branch –branch alpha9 https://github.com/GenPi64/genpi64-overlay.git . Cloning into ‘.’… warning: Could not find remote branch alpha9 to clone. fatal: Remote branch alpha9 not found in upstream origin !!! git clone error in /var/db/repos/genpi64 Syncing repository ‘genpi-tools’ into ‘/var/db/repos/genpi-tools’… /usr/bin/git fetch origin –depth 1 remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 === Sync completed for genpi-tools !!! Repository ‘genpi64’ is missing masters attribute in ‘/var/db/repos/genpi64/metadata/layout.conf’ !!! Set ‘masters = gentoo’ in this file for future compatibility


# GenPi64 2023/10/15 にビルドしたSDカードイメージから起動したら出たエラー

python_targets_python3_10 が必要との事。

emerge -a –update autofs

setlocale: unsupported locale setting setlocale: unsupported locale setting

These are the packages that would be merged:

Calculating dependencies …. done! Dependency resolution took 14.67 s.

emerge: there are no ebuilds built with USE flags to satisfy “>=dev-python/installer-0.5.0[python_targets_pypy3(-)?,python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?]”. !!! One of the following packages is required to complete your request:

  • dev-python/installer-0.7.0::gentoo (Change USE: +python_targets_python3_10)
  • dev-python/gpep517-15::gentoo (Change USE: -python_targets_python3_10) (dependency required by “dev-python/gpep517-15::gentoo” [ebuild]) (dependency required by “dev-python/jaraco-functools-3.9.0::gentoo” [installed]) (dependency required by “dev-python/jaraco-text-3.11.1-r1::gentoo” [installed]) (dependency required by “dev-python/setuptools-68.2.2::gentoo” [ebuild]) (dependency required by “dev-python/certifi-3021.3.16-r3::gentoo[-test]” [installed])

make.confの次の行をコメントアウトする

EMERGE_DEFAULT_OPTS="–jobs –newrepo –newuse –changed-use –changed-deps –changed-slot –deep –tree –unordered-display –nospinner –backtrack=3000 –complete-graph –with-bdeps=y –rebuild-if-new-rev –rebuild-if-new-ver –rebuild-if-unbuilt –rebuilt-binaries –binpkg-respect-use=y –binpkg-changed-deps=y –usepkg=y –buildpkg-exclude ‘virtual/* sys-kernel/-sources /-bin acct-user/ acct-group/*'"


--deepが入っているからだろう。

# 参考

OpenRCでsystemdのユーティリティを使う

[Systemd utils installed on a configuration with OpenRc : r/Gentoo](https://www.reddit.com/r/Gentoo/comments/vl91df/systemd_utils_installed_on_a_configuration_with/)