Aix

在 AIX 7.1 上安裝 Dnf/Yum 儲存庫 ImportError: 0509-022/0509-150 libcrypto

  • February 7, 2022

我正在嘗試為離線 AIX 7.1 創建一個 Yum/Dnf 儲存庫,並且我已經通過reposync在連接到 Internet 的 linux 機器上使用下載了所有儲存庫。我在這里安裝了 Dnf 包:http ://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/dnf_bundle_aix_71_72.tar並且在使用 install_dnf.sh 腳本明顯成功安裝後,我得到了嘗試安裝createrepo包 ( /opt/freeware/bin/dnf install createrepo) 時出現以下錯誤,這是在 AIX 機器上創建本地儲存庫所必需的:

# /opt/freeware/bin/dnf install createrepo
Traceback (most recent call last):
 File "/opt/freeware/bin/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 libdn
   f.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:    0509-022 Cannot load module /opt/freeware/lib/librepo.a(librepo.so.0).
       0509-150   Dependent module /opt/freeware/lib/libcrypto.a(libcrypto.so.1.0.2) could not be loaded.
       0509-152   Member libcrypto.so.1.0.2 is not found in archive
       0509-022 Cannot load module /opt/freeware/lib/python3.7/site-packages/libdnf/_common_types.so.
       0509-150   Dependent module /opt/freeware/lib/librepo.a(librepo.so.0) could not be loaded.

安裝時:

# rpm -qa
pci.df1000fd-2-10x8.noarch
lsof-4.61-4.ppc
ase-1.05-40.ppc
pci.df1000fa-1-191A5.noarch
NaCl-1.8.0.5-3.ppc
openssl-0.9.7l-1.ppc
bzip2-1.0.8-2.ppc
libtasn1-4.9-2.ppc
python3-3.7.9-0.ppc
libmodulemd-1.5.2-32_1.ppc
libsmartcols-2.34-32_1.ppc
librepo-1.11.0-32_1.ppc
libdnf-0.39.1-32_1.ppc
python3-hawkey-0.39.1-32_1.ppc
python3-libcomps-0.1.11-32_1.ppc
p11-kit-0.23.16-0.ppc
dnf-data-4.2.17-32_1.noarch
dnf-4.2.17-32_1.noarch
ca-certificates-2020.06.01-0.ppc
zlib-1.1.4-1.ppc
lpar2rrd-agent-4.95-7.ppc
rsync-2.6.2-1.ppc
pci.df1000f9-3-93a0.noarch
pci.df1080f9-1-91x4.noarch
popt-1.7-1.ppc
libgcc-6.3.0-2.ppc
libffi-3.2.1-3.ppc
AIX-rpm-7.1.5.33-15.ppc
libzstd-1.4.4-32_1.ppc
libsolv-0.7.9-32_1.ppc
zchunk-libs-1.1.4-32_1.ppc
rpm-python3-4.15.1-32_1.ppc
python3-libdnf-0.39.1-32_1.ppc
libcomps-0.1.11-32_1.ppc
python3-gpgme-1.13.1-32_1.ppc
p11-kit-tools-0.23.16-0.ppc
python3-dnf-4.2.17-32_1.noarch
dnf-automatic-4.2.17-32_1.noarch
python3-librepo-1.11.0-32_1.ppc

雖然我看到我有這個文件,/opt/freeware/lib/libcrypto.a但我沒有看到它是作為 rpm 安裝的。

另一方面, librepo.a似乎作為 rpm 包和文件存在於/opt/freeware/lib/librepo.a

它似乎正在嘗試載入libcrypto.so.1.0.2並且openssl-0.9.7l-1.ppc目前已安裝。嘗試更改 PATH 以便它/usr/lib首先查找系統的,並且僅在之後查找/opt/freeware/lib/,作為作業系統,如果它是AIX 7.1,它應該已經具有所需的和最新的libcrypto.so

引用自:https://unix.stackexchange.com/questions/689176