Question & Answer
Question
Why does DNF fail after an update to AIX 7.3 TL02?
# dnf update Traceback (most recent call last): File "/opt/freeware/bin/dnf", line 58, in <module> from dnf.cli import main File "/opt/freeware/lib/python3.7/site-packages/dnf/__init__.py", line 30, in <module> import dnf.base File "/opt/freeware/lib/python3.7/site-packages/dnf/base.py", line 31, in <module> from dnf.comps import CompsQuery File "/opt/freeware/lib/python3.7/site-packages/dnf/comps.py", line 27, in <module> from dnf.exceptions import CompsError File "/opt/freeware/lib/python3.7/site-packages/dnf/exceptions.py", line 22, in <module> import dnf.util File "/opt/freeware/lib/python3.7/site-packages/dnf/util.py", line 30, in <module> import dnf.callback File "/opt/freeware/lib/python3.7/site-packages/dnf/callback.py", line 22, in <module> import dnf.yum.rpmtrans File "/opt/freeware/lib/python3.7/site-packages/dnf/yum/rpmtrans.py", line 26, in <module> import rpm File "/opt/freeware/lib64/python3.7/site-packages/rpm/__init__.py", line 38, in <module> from rpm._rpm import * ImportError: 0509-022 Cannot load module /opt/freeware/lib64/python3.7/site-packages/rpm/_rpm.so. 0509-150 Dependent module libnss3.so could not be loaded. 0509-022 Cannot load module libnss3.so. 0509-026 System error: A file or directory in the path name does not exist. |
Cause
The Python version is down-level 3.7. The rpm.rte was updated to version 4.18, with the following significant changes noted in the /usr/opt/rpm/README:
4.18.1.2000
----------- - Update to latest version for AIX 7.3 TL2. This version uses sqlite3 as database instead of db. - This version is built with openssl-3 instead of nss/nspr. - Conversion of old database to sqlite3 database is done as part of an rpm.rte update or AIX migration. 4.18.1.2001
----------- - Remove nss, nspr and db libraries as they are no longer being used by rpm. |
Per the AIX Toolbox "What's New" page
May 24 2023:
The python 3.7 went EOS in June. The AIX Toolbox default python3 became python3.9 instead of python3-3.7. Nov 23 2023:
IMPORTANT: Update dnf before you update AIX. If you have not updated to python3.9 yet, dnf with python3.7 will fail to run with rpm.rte 4.18. See the May 24 entry in this table. NOTE: You should remove any non-AIX openssl packages that deliver related libraries to /opt/freeware/lib. These files will conflict with rpm. These files have caused issues for some packages for some time, but will certainly cause rpm failures due to missing libcrypto.so.3
|
The rpm.rte was updated before DNF and Python were updated.
Answer
To resolve the problem, you can run the dnf install script to try to force an update.
- See Get Started
NOTE: Some users with other non-AIX Toolbox packages reported failures when they ran the script. If you you still have problems updating DNF, consult with the AIX Open Source community.
SUPPORT |
---|
|
Related Information
[{"Type":"MASTER","Line of Business":{"code":"LOB08","label":"Cognitive Systems"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG10","label":"AIX"},"ARM Category":[{"code":"a8m3p000000hB48AAE","label":"AIX Open Source-\u003EPackage Tips"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
30 November 2023
UID
ibm17084021