Hello,
with a freshly updated repository with DNF backed by Python3.12 I executed dnf update -y dnf, output below:
$ LIBPATH= dnf update -y dnf
Last metadata expiration check: 0:01:34 ago on Thu Nov 13 09:15:43 GMT 2025.
Dependencies resolved.
=============================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================
Upgrading:
gpgme ppc 1.24.3-100 AIX_Toolbox 543 k
libcomps ppc 0.1.22-100 AIX_Toolbox 374 k
libgpg-error ppc 1.51-1 AIX_Toolbox 523 k
libmodulemd ppc 2.15.2-100 AIX_Toolbox 1.7 M
librepo ppc 1.20.0-100 AIX_Toolbox 955 k
libsmartcols ppc 2.41-100 AIX_Toolbox 706 k
libxml2 ppc 2.14.4-2 AIX_Toolbox 6.0 M
libzstd ppc 1.5.7-100 AIX_Toolbox 1.6 M
python3 ppc 3.12.12-1 AIX_Toolbox 9.3 k
python3-gpg ppc 1.24.3-100 AIX_Toolbox 7.3 k
python3-libcomps ppc 0.1.22-100 AIX_Toolbox 15 k
python3-librepo ppc 1.20.0-100 AIX_Toolbox 13 k
xz-libs ppc 5.8.1-1 AIX_Toolbox 585 k
zchunk-libs ppc 1.5.2-100 AIX_Toolbox 700 k
dnf ppc 4.23.0-64_50 AIX_Toolbox_73 13 k
dnf-automatic ppc 4.23.0-64_50 AIX_Toolbox_73 14 k
dnf-data ppc 4.23.0-64_50 AIX_Toolbox_73 29 k
libdnf ppc 0.74.0-64_50 AIX_Toolbox_73 2.7 M
libsolv ppc 0.7.35-64_50 AIX_Toolbox_73 749 k
python3-dnf ppc 4.23.0-64_50 AIX_Toolbox_73 8.9 k
python3-dnf-plugin-migrate ppc 4.10.1-64_50 AIX_Toolbox_73 6.7 k
python3-dnf-plugins-core ppc 4.10.1-64_50 AIX_Toolbox_73 6.9 k
python3-hawkey ppc 0.74.0-64_50 AIX_Toolbox_73 23 k
python3-libdnf ppc 0.74.0-64_50 AIX_Toolbox_73 23 k
rpm-python3 ppc 4.15.1-64_6 AIX_Toolbox_73 9.6 k
Installing dependencies:
python3.12 ppc 3.12.12-1 AIX_Toolbox 51 M
python3.12-gpg ppc 1.24.3-100 AIX_Toolbox 963 k
replacing python3.9-gpg.ppc 1.13.1-101
python3.12-libcomps ppc 0.1.22-100 AIX_Toolbox 230 k
replacing python3.9-libcomps.ppc 0.1.15-101
python3.12-librepo ppc 1.20.0-100 AIX_Toolbox 467 k
replacing python3.9-librepo.ppc 1.11.0-103
python3.12-dateutil noarch 2.9.0.post0-1 AIX_Toolbox_noarch 358 k
python3.12-six noarch 1.17.0-1 AIX_Toolbox_noarch 54 k
python3.12-dnf ppc 4.23.0-64_50 AIX_Toolbox_73 212 k
replacing python3.9-dnf.ppc 4.2.17-64_54
python3.12-dnf-plugin-migrate ppc 4.10.1-64_50 AIX_Toolbox_73 8.5 k
replacing python3.9-dnf-plugin-migrate.ppc 4.0.16-64_52
python3.12-dnf-plugins-core ppc 4.10.1-64_50 AIX_Toolbox_73 36 k
replacing python3.9-dnf-plugins-core.ppc 4.0.16-64_52
python3.12-hawkey ppc 0.74.0-64_50 AIX_Toolbox_73 498 k
replacing python3.9-hawkey.ppc 0.39.1-64_52
python3.12-libdnf ppc 0.74.0-64_50 AIX_Toolbox_73 2.5 M
replacing python3.9-libdnf.ppc 0.39.1-64_52
rpm-python3.12 ppc 4.15.1-64_6 AIX_Toolbox_73 99 k
Transaction Summary
=============================================================================================================================================
Install 12 Packages
Upgrade 25 Packages
Total download size: 74 M
Downloading Packages:
(1/37): python3.12-libcomps-0.1.22-100.aix7.1.ppc.rpm 3.3 MB/s | 230 kB 00:00
(2/37): python3.12-gpg-1.24.3-100.aix7.1.ppc.rpm 11 MB/s | 963 kB 00:00
(3/37): python3.12-librepo-1.20.0-100.aix7.1.ppc.rpm 23 MB/s | 467 kB 00:00
(4/37): python3.12-dateutil-2.9.0.post0-1.aix7.1.noarch.rpm 24 MB/s | 358 kB 00:00
(5/37): python3.12-six-1.17.0-1.aix7.1.noarch.rpm 4.8 MB/s | 54 kB 00:00
(6/37): python3.12-dnf-plugin-migrate-4.10.1-64_50.aix7.3.ppc.rpm 2.8 MB/s | 8.5 kB 00:00
(7/37): python3.12-dnf-4.23.0-64_50.aix7.3.ppc.rpm 20 MB/s | 212 kB 00:00
(8/37): python3.12-dnf-plugins-core-4.10.1-64_50.aix7.3.ppc.rpm 6.5 MB/s | 36 kB 00:00
(9/37): python3.12-hawkey-0.74.0-64_50.aix7.3.ppc.rpm 24 MB/s | 498 kB 00:00
(10/37): rpm-python3.12-4.15.1-64_6.aix7.3.ppc.rpm 14 MB/s | 99 kB 00:00
(11/37): gpgme-1.24.3-100.aix7.1.ppc.rpm 32 MB/s | 543 kB 00:00
(12/37): python3.12-libdnf-0.74.0-64_50.aix7.3.ppc.rpm 40 MB/s | 2.5 MB 00:00
(13/37): libcomps-0.1.22-100.aix7.1.ppc.rpm 19 MB/s | 374 kB 00:00
(14/37): libgpg-error-1.51-1.aix7.1.ppc.rpm 28 MB/s | 523 kB 00:00
(15/37): librepo-1.20.0-100.aix7.1.ppc.rpm 38 MB/s | 955 kB 00:00
(16/37): libmodulemd-2.15.2-100.aix7.1.ppc.rpm 34 MB/s | 1.7 MB 00:00
(17/37): libsmartcols-2.41-100.aix7.1.ppc.rpm 30 MB/s | 706 kB 00:00
(18/37): libzstd-1.5.7-100.aix7.1.ppc.rpm 38 MB/s | 1.6 MB 00:00
(19/37): python3-3.12.12-1.aix7.1.ppc.rpm 1.4 MB/s | 9.3 kB 00:00
(20/37): python3-gpg-1.24.3-100.aix7.1.ppc.rpm 2.2 MB/s | 7.3 kB 00:00
(21/37): python3-libcomps-0.1.22-100.aix7.1.ppc.rpm 3.9 MB/s | 15 kB 00:00
(22/37): python3-librepo-1.20.0-100.aix7.1.ppc.rpm 4.6 MB/s | 13 kB 00:00
(23/37): libxml2-2.14.4-2.aix7.1.ppc.rpm 41 MB/s | 6.0 MB 00:00
(24/37): xz-libs-5.8.1-1.aix7.1.ppc.rpm 9.1 MB/s | 585 kB 00:00
(25/37): dnf-4.23.0-64_50.aix7.3.ppc.rpm 3.3 MB/s | 13 kB 00:00
(26/37): dnf-automatic-4.23.0-64_50.aix7.3.ppc.rpm 5.1 MB/s | 14 kB 00:00
(27/37): dnf-data-4.23.0-64_50.aix7.3.ppc.rpm 6.8 MB/s | 29 kB 00:00
(28/37): zchunk-libs-1.5.2-100.aix7.1.ppc.rpm 21 MB/s | 700 kB 00:00
(29/37): libsolv-0.7.35-64_50.aix7.3.ppc.rpm 33 MB/s | 749 kB 00:00
(30/37): python3-dnf-4.23.0-64_50.aix7.3.ppc.rpm 2.3 MB/s | 8.9 kB 00:00
(31/37): python3-dnf-plugin-migrate-4.10.1-64_50.aix7.3.ppc.rpm 2.3 MB/s | 6.7 kB 00:00
(32/37): python3-dnf-plugins-core-4.10.1-64_50.aix7.3.ppc.rpm 1.4 MB/s | 6.9 kB 00:00
(33/37): libdnf-0.74.0-64_50.aix7.3.ppc.rpm 39 MB/s | 2.7 MB 00:00
(34/37): python3-hawkey-0.74.0-64_50.aix7.3.ppc.rpm 2.0 MB/s | 23 kB 00:00
(35/37): python3-libdnf-0.74.0-64_50.aix7.3.ppc.rpm 11 MB/s | 23 kB 00:00
(36/37): rpm-python3-4.15.1-64_6.aix7.3.ppc.rpm 938 kB/s | 9.6 kB 00:00
(37/37): python3.12-3.12.12-1.aix7.1.ppc.rpm 58 MB/s | 51 MB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------
Total 82 MB/s | 74 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Upgrading : libzstd-1.5.7-100.ppc 1/70
Upgrading : libgpg-error-1.51-1.ppc 2/70
Upgrading : gpgme-1.24.3-100.ppc 3/70
Upgrading : libmodulemd-2.15.2-100.ppc 4/70
Upgrading : zchunk-libs-1.5.2-100.ppc 5/70
Upgrading : xz-libs-5.8.1-1.ppc 6/70
Installing : python3.12-3.12.12-1.ppc 7/70
Running scriptlet: python3-3.12.12-1.ppc 8/70
Upgrading : python3-3.12.12-1.ppc 8/70
Upgrading : libxml2-2.14.4-2.ppc 9/70
Upgrading : librepo-1.20.0-100.ppc 10/70
Upgrading : libsolv-0.7.35-64_50.ppc 11/70
Upgrading : libsmartcols-2.41-100.ppc 12/70
Installing : python3.12-gpg-1.24.3-100.ppc 13/70
Running scriptlet: rpm-python3.12-4.15.1-64_6.ppc 14/70
Installing : rpm-python3.12-4.15.1-64_6.ppc 14/70
Upgrading : rpm-python3-4.15.1-64_6.ppc 15/70
Upgrading : libdnf-0.74.0-64_50.ppc 16/70
Installing : python3.12-libdnf-0.74.0-64_50.ppc 17/70
Installing : python3.12-hawkey-0.74.0-64_50.ppc 18/70
Installing : python3.12-librepo-1.20.0-100.ppc 19/70
Upgrading : libcomps-0.1.22-100.ppc 20/70
Installing : python3.12-libcomps-0.1.22-100.ppc 21/70
Installing : python3.12-six-1.17.0-1.noarch 22/70
Installing : python3.12-dateutil-2.9.0.post0-1.noarch 23/70
Upgrading : dnf-data-4.23.0-64_50.ppc 24/70
warning: /opt/freeware/etc/dnf/dnf.conf created as /opt/freeware/etc/dnf/dnf.conf.rpmnew
Running scriptlet: dnf-data-4.23.0-64_50.ppc 24/70
Installing : python3.12-dnf-4.23.0-64_50.ppc 25/70
Installing : python3.12-dnf-plugins-core-4.10.1-64_50.ppc 26/70
Installing : python3.12-dnf-plugin-migrate-4.10.1-64_50.ppc 27/70
Upgrading : python3-dnf-4.23.0-64_50.ppc 28/70
Upgrading : dnf-4.23.0-64_50.ppc 29/70
Upgrading : dnf-automatic-4.23.0-64_50.ppc 30/70
Upgrading : python3-dnf-plugin-migrate-4.10.1-64_50.ppc 31/70
Upgrading : python3-dnf-plugins-core-4.10.1-64_50.ppc 32/70
Upgrading : python3-libcomps-0.1.22-100.ppc 33/70
Upgrading : python3-librepo-1.20.0-100.ppc 34/70
Upgrading : python3-hawkey-0.74.0-64_50.ppc 35/70
Upgrading : python3-libdnf-0.74.0-64_50.ppc 36/70
Upgrading : python3-gpg-1.24.3-100.ppc 37/70
Cleanup : python3-libdnf-0.39.1-64_52.ppc 38/70
Cleanup : python3-hawkey-0.39.1-64_52.ppc 39/70
Cleanup : python3-librepo-1.11.0-103.ppc 40/70
Obsoleting : python3.9-librepo-1.11.0-103.ppc 41/70
Cleanup : python3-gpg-1.13.1-101.ppc 42/70
Cleanup : python3-dnf-plugins-core-4.0.16-64_52.ppc 43/70
Cleanup : python3-dnf-plugin-migrate-4.0.16-64_52.ppc 44/70
Obsoleting : python3.9-dnf-plugin-migrate-4.0.16-64_52.ppc 45/70
Obsoleting : python3.9-dnf-plugins-core-4.0.16-64_52.ppc 46/70
Cleanup : dnf-automatic-4.2.17-64_54.ppc 47/70
Cleanup : dnf-4.2.17-64_54.ppc 48/70
Cleanup : python3-dnf-4.2.17-64_54.ppc 49/70
Obsoleting : python3.9-dnf-4.2.17-64_54.ppc 50/70
Obsoleting : python3.9-hawkey-0.39.1-64_52.ppc 51/70
Obsoleting : python3.9-libdnf-0.39.1-64_52.ppc 52/70
Cleanup : libdnf-0.39.1-64_52.ppc 53/70
Cleanup : librepo-1.11.0-103.ppc 54/70
Cleanup : libsolv-0.7.9-64_52.ppc 55/70
Cleanup : zchunk-libs-1.1.4-103.ppc 56/70
Obsoleting : python3.9-gpg-1.13.1-101.ppc 57/70
Cleanup : gpgme-1.13.1-101.ppc 58/70
Cleanup : rpm-python3-4.15.1-64_4.ppc 59/70
Cleanup : python3-libcomps-0.1.15-101.ppc 60/70
Obsoleting : python3.9-libcomps-0.1.15-101.ppc 61/70
Cleanup : libcomps-0.1.15-101.ppc 62/70
Cleanup : libxml2-2.12.9-1.ppc 63/70
Cleanup : xz-libs-5.4.3-1.ppc 64/70
Cleanup : python3-3.9.20-1.ppc 65/70
Cleanup : libgpg-error-1.49-1.ppc 66/70
Cleanup : libzstd-1.5.2-3.ppc 67/70
Cleanup : libmodulemd-1.5.2-100.ppc 68/70
Cleanup : libsmartcols-2.34-101.ppc 69/70
Cleanup : dnf-data-4.2.17-64_54.ppc 70/70
Running scriptlet: rpm-python3.12-4.15.1-64_6.ppc 70/70
Verifying : python3.12-3.12.12-1.ppc 1/70
Verifying : python3.12-gpg-1.24.3-100.ppc 2/70
Verifying : python3.9-gpg-1.13.1-101.ppc 3/70
Verifying : python3.12-libcomps-0.1.22-100.ppc 4/70
Verifying : python3.9-libcomps-0.1.15-101.ppc 5/70
Verifying : python3.12-librepo-1.20.0-100.ppc 6/70
Verifying : python3.9-librepo-1.11.0-103.ppc 7/70
Verifying : python3.12-dateutil-2.9.0.post0-1.noarch 8/70
Verifying : python3.12-six-1.17.0-1.noarch 9/70
Verifying : python3.12-dnf-4.23.0-64_50.ppc 10/70
Verifying : python3.9-dnf-4.2.17-64_54.ppc 11/70
Verifying : python3.12-dnf-plugin-migrate-4.10.1-64_50.ppc 12/70
Verifying : python3.9-dnf-plugin-migrate-4.0.16-64_52.ppc 13/70
Verifying : python3.12-dnf-plugins-core-4.10.1-64_50.ppc 14/70
Verifying : python3.9-dnf-plugins-core-4.0.16-64_52.ppc 15/70
Verifying : python3.12-hawkey-0.74.0-64_50.ppc 16/70
Verifying : python3.9-hawkey-0.39.1-64_52.ppc 17/70
Verifying : python3.12-libdnf-0.74.0-64_50.ppc 18/70
Verifying : python3.9-libdnf-0.39.1-64_52.ppc 19/70
Verifying : rpm-python3.12-4.15.1-64_6.ppc 20/70
Verifying : gpgme-1.24.3-100.ppc 21/70
Verifying : gpgme-1.13.1-101.ppc 22/70
Verifying : libcomps-0.1.22-100.ppc 23/70
Verifying : libcomps-0.1.15-101.ppc 24/70
Verifying : libgpg-error-1.51-1.ppc 25/70
Verifying : libgpg-error-1.49-1.ppc 26/70
Verifying : libmodulemd-2.15.2-100.ppc 27/70
Verifying : libmodulemd-1.5.2-100.ppc 28/70
Verifying : librepo-1.20.0-100.ppc 29/70
Verifying : librepo-1.11.0-103.ppc 30/70
Verifying : libsmartcols-2.41-100.ppc 31/70
Verifying : libsmartcols-2.34-101.ppc 32/70
Verifying : libxml2-2.14.4-2.ppc 33/70
Verifying : libxml2-2.12.9-1.ppc 34/70
Verifying : libzstd-1.5.7-100.ppc 35/70
Verifying : libzstd-1.5.2-3.ppc 36/70
Verifying : python3-3.12.12-1.ppc 37/70
Verifying : python3-3.9.20-1.ppc 38/70
Verifying : python3-gpg-1.24.3-100.ppc 39/70
Verifying : python3-gpg-1.13.1-101.ppc 40/70
Verifying : python3-libcomps-0.1.22-100.ppc 41/70
Verifying : python3-libcomps-0.1.15-101.ppc 42/70
Verifying : python3-librepo-1.20.0-100.ppc 43/70
Verifying : python3-librepo-1.11.0-103.ppc 44/70
Verifying : xz-libs-5.8.1-1.ppc 45/70
Verifying : xz-libs-5.4.3-1.ppc 46/70
Verifying : zchunk-libs-1.5.2-100.ppc 47/70
Verifying : zchunk-libs-1.1.4-103.ppc 48/70
Verifying : dnf-4.23.0-64_50.ppc 49/70
Verifying : dnf-4.2.17-64_54.ppc 50/70
Verifying : dnf-automatic-4.23.0-64_50.ppc 51/70
Verifying : dnf-automatic-4.2.17-64_54.ppc 52/70
Verifying : dnf-data-4.23.0-64_50.ppc 53/70
Verifying : dnf-data-4.2.17-64_54.ppc 54/70
Verifying : libdnf-0.74.0-64_50.ppc 55/70
Verifying : libdnf-0.39.1-64_52.ppc 56/70
Verifying : libsolv-0.7.35-64_50.ppc 57/70
Verifying : libsolv-0.7.9-64_52.ppc 58/70
Verifying : python3-dnf-4.23.0-64_50.ppc 59/70
Verifying : python3-dnf-4.2.17-64_54.ppc 60/70
Verifying : python3-dnf-plugin-migrate-4.10.1-64_50.ppc 61/70
Verifying : python3-dnf-plugin-migrate-4.0.16-64_52.ppc 62/70
Verifying : python3-dnf-plugins-core-4.10.1-64_50.ppc 63/70
Verifying : python3-dnf-plugins-core-4.0.16-64_52.ppc 64/70
Verifying : python3-hawkey-0.74.0-64_50.ppc 65/70
Verifying : python3-hawkey-0.39.1-64_52.ppc 66/70
Verifying : python3-libdnf-0.74.0-64_50.ppc 67/70
Verifying : python3-libdnf-0.39.1-64_52.ppc 68/70
Verifying : rpm-python3-4.15.1-64_6.ppc 69/70
Verifying : rpm-python3-4.15.1-64_4.ppc 70/70
Upgraded:
gpgme-1.24.3-100.ppc libcomps-0.1.22-100.ppc libgpg-error-1.51-1.ppc
libmodulemd-2.15.2-100.ppc librepo-1.20.0-100.ppc libsmartcols-2.41-100.ppc
libxml2-2.14.4-2.ppc libzstd-1.5.7-100.ppc python3-3.12.12-1.ppc
python3-gpg-1.24.3-100.ppc python3-libcomps-0.1.22-100.ppc python3-librepo-1.20.0-100.ppc
xz-libs-5.8.1-1.ppc zchunk-libs-1.5.2-100.ppc dnf-4.23.0-64_50.ppc
dnf-automatic-4.23.0-64_50.ppc dnf-data-4.23.0-64_50.ppc libdnf-0.74.0-64_50.ppc
libsolv-0.7.35-64_50.ppc python3-dnf-4.23.0-64_50.ppc python3-dnf-plugin-migrate-4.10.1-64_50.ppc
python3-dnf-plugins-core-4.10.1-64_50.ppc python3-hawkey-0.74.0-64_50.ppc python3-libdnf-0.74.0-64_50.ppc
rpm-python3-4.15.1-64_6.ppc
Installed:
python3.12-3.12.12-1.ppc python3.12-gpg-1.24.3-100.ppc python3.12-libcomps-0.1.22-100.ppc
python3.12-librepo-1.20.0-100.ppc python3.12-dateutil-2.9.0.post0-1.noarch python3.12-six-1.17.0-1.noarch
python3.12-dnf-4.23.0-64_50.ppc python3.12-dnf-plugin-migrate-4.10.1-64_50.ppc python3.12-dnf-plugins-core-4.10.1-64_50.ppc
python3.12-hawkey-0.74.0-64_50.ppc python3.12-libdnf-0.74.0-64_50.ppc rpm-python3.12-4.15.1-64_6.ppc
Complete!
This resulted in the following problem:
# LIBPATH= dnf remove 'python3.9*'
Traceback (most recent call last):
File "/opt/freeware/bin/dnf", line 58, in <module>
from dnf.cli import main
File "/opt/freeware/lib/python3.12/site-packages/dnf/__init__.py", line 30, in <module>
import dnf.base
File "/opt/freeware/lib/python3.12/site-packages/dnf/base.py", line 29, in <module>
import libdnf.transaction
File "/opt/freeware/lib64/python3.12/site-packages/libdnf/__init__.py", line 8, in <module>
from . import error
File "/opt/freeware/lib64/python3.12/site-packages/libdnf/error.py", line 10, in <module>
from . import _error
ImportError: 0509-130 Symbol resolution failed for /opt/freeware/lib64/libdnf.a(libdnf.so.2) because:
0509-136 Symbol _ZSt28__throw_bad_array_new_lengthv (number 64) is not exported from
dependent module /opt/freeware/lib/pthread/libstdc++.a(libstdc++.so.6).
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
Turned out that DNF was tyring to access libstdc++ from GCC-10 version while the new DNF requires GCC-13.
# ls -l /opt/freeware/lib/pthread/libstdc++.a
lrwxrwxrwx 1 root system 52 Nov 30 2021 /opt/freeware/lib/pthread/libstdc++.a -> ../gcc/powerpc-ibm-aix7.3.0.0/10/pthread/libstdc++.a
That meant I had to install GCC-13 separately. So the question is whether this dependency shouldn't be handled by DNF itself in order to prevent from DNF breaking itself.
Thanks.