Open Source Development

 View Only

 Another dnf update issue. Python version maybe??

Toby Buck's profile image
Toby Buck posted Wed October 22, 2025 09:04 AM

$ oslevel -s
7200-05-03-2148

I've been slowly trying to get dnf all updated but now I seem to have broken it...   After slowly fixing one thing or another, I got to the point where a dnf update said it would remove dnf.

$ sudo /opt/freeware/bin/dnf update -y      
AIX generic repository                                                                                                                                    13 kB/s | 2.7 kB     00:00    
AIX noarch repository                                                                                                                                    7.3 kB/s | 2.6 kB     00:00    
AIX 7.2 specific repository                                                                                                                               13 kB/s | 2.7 kB     00:00    
Error: 
 Problem: The operation would result in removing the following protected packages: dnf
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

From another thread here, the solution was to update rpm.rte.  I upgraded from 

$ lslpp -Lc | grep rpm.rte
rpm.rte:rpm.rte:4.15.1.3: : :C: :RPM Package Manager: : : : : : :1:0:/:

to 

$ lslpp -Lc | grep rpm.rte             
rpm.rte:rpm.rte:4.15.1.1017: : :C: :RPM Package Manager: : : : : : :0:0:/:

Now dnf doesn't work at all.  No matter if I'm trying to do an update or just list installed, I get:  

# dnf list installed
Traceback (most recent call last):
  File "dnf", line 57, in <module>
    from dnf.cli import main
  File "/opt/freeware/lib/python3.7/site-packages/dnf/__init__.py", line 32, in <module>
    import dnf.base
  File "/opt/freeware/lib/python3.7/site-packages/dnf/base.py", line 29, in <module>
    import libdnf.transaction
  File "/opt/freeware/lib/python3.7/site-packages/libdnf/__init__.py", line 3, in <module>
    from . import common_types
  File "/opt/freeware/lib/python3.7/site-packages/libdnf/common_types.py", line 13, in <module>
    from . import _common_types
ImportError: rtld: 0712-001 Symbol lua_newuserdata was referenced
      from module /usr/opt/rpm/lib/librpmio.so(), but a runtime definition
      of the symbol was not found.
root /># 

Looking in /opt/freeware/bin I only see python 3.7

>$ ls -l /opt/freeware/bin/python*
lrwxrwxrwx    1 root     system           10 Jan 25 2022  /opt/freeware/bin/python3 -> python3_64
lrwxrwxrwx    1 root     system           12 Jan 25 2022  /opt/freeware/bin/python3.7 -> python3.7_64
lrwxrwxrwx    1 root     system           13 Jan 25 2022  /opt/freeware/bin/python3.7_32 -> python3.7m_32
lrwxrwxrwx    1 root     system           13 Jan 25 2022  /opt/freeware/bin/python3.7_64 -> python3.7m_64
lrwxrwxrwx    1 root     system           13 Jan 25 2022  /opt/freeware/bin/python3.7m -> python3.7m_64
-rwxr-xr-x    1 root     system       477917 Dec 15 2021  /opt/freeware/bin/python3.7m_32
-rwxr-xr-x    1 root     system       493079 Dec 15 2021  /opt/freeware/bin/python3.7m_64
lrwxrwxrwx    1 root     system           12 Jan 25 2022  /opt/freeware/bin/python3_32 -> python3.7_32
lrwxrwxrwx    1 root     system           12 Jan 25 2022  /opt/freeware/bin/python3_64 -> python3.7_64

I think 3.9 is required, but how was it working before I upgraded rpm.rte and more importantly, how to I update python without dnf?   I see a lot of python rpms in the AIXToolbox, but not sure which one(s) I need and if installing it via rpm will mess up dnf.  

Any help is greatly appreciated.   Thank you.