IBM Support

AIX Open Source Tip: DNF errors missing libnss3.so in 73 TL2

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.
 
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.
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
  • RPM packages from the AIX Toolbox for Open Source Software site are not supported through AIX support.
    • AIX support does not provide answers about usage, compatibility, or dependencies for this package.
    • Cases opened to address AIX Toolbox problems are canceled, and users are referred to the discussion forum.
  • For all questions or issues with AIX Toolbox for Open Source Software packages, support is provided through the AIX Open Source Community Discussion forum.
    • The AIX Open Source development team provides 'best effort' support through the forum, only. They answer questions, if possible, but they don't own the packages, or formally support them.
    • For more information about support, see Resolving AIX Open Source Package and Application Issues.

[{"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"}]

Document Information

Modified date:
30 November 2023

UID

ibm17084021