This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
aix:aix_yum_install [2021/01/01 21:22] 127.0.0.1 external edit |
aix:aix_yum_install [2024/04/19 11:38] (current) manu [DNF error on AIX 7.3] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======= AIX RPM installation and YUM ====== | + | ======= AIX RPM installation and YUM / DNF ====== |
+ | |||
+ | ===== DNF installation on AIX 7.3 ===== | ||
+ | |||
+ | Starting point: AIX 7.3 TL1 SP01 | ||
+ | <cli prompt='#'> | ||
+ | [root@aix73]/root# oslevel -s | ||
+ | 7300-01-01-2246 | ||
+ | [root@aix73]/root# lslpp -Lc | grep rpm.rte | ||
+ | rpm.rte:rpm.rte:4.15.1.2006: : :C: :RPM Package Manager: : : : : : :0:0:/: | ||
+ | |||
+ | [root@aix73]/root# rpm -qa | ||
+ | libgcc10-10.3.0-6.ppc | ||
+ | libstdc++-10-2.ppc | ||
+ | db-5.3.28-1.ppc | ||
+ | AIX-rpm-7.3.1.1-6.ppc | ||
+ | libgcc-10-2.ppc | ||
+ | libstdc++10-10.3.0-6.ppc | ||
+ | </cli> | ||
+ | |||
+ | Source package for this install (ppc, noarch, ppc-7.3, and dnf bundle: | ||
+ | https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ | ||
+ | https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/dnf_bundle_aix_73_v6.tar | ||
+ | |||
+ | Install the following rpms, and ignore the following error | ||
+ | <cli prompt='#'> | ||
+ | # rpm -Uhv libxml2-2.10.2-1.aix7.1.ppc.rpm libunistring-0.9.10-1.aix6.1.ppc.rpm libtextstyle-0.21-2.aix7.1.ppc.rpm libgomp8-8.3.0-7.aix7.3.ppc.rpm libgcc8-8.3.0-7.aix7.3.ppc.rpm ncurses-6.3-1.aix7.1.ppc.rpm libiconv-1.17-1.aix7.1.ppc.rpm info-6.7-1.aix6.1.ppc.rpm gettext-0.21-2.aix7.1.ppc.rpm xz-libs-5.2.5-1.aix6.1.ppc.rpm glib2-2.56.1-3.aix6.1.ppc.rpm zlib-1.2.12-1.aix6.1.ppc.rpm libffi-3.4.2-1.aix7.1.ppc.rpm libgomp-10-2.aix7.3.ppc.rpm libgomp10-10.3.0-6.aix7.3.ppc.rpm | ||
+ | |||
+ | |||
+ | Updating / installing... | ||
+ | exec(): 0509-036 Cannot load program /sbin/install-info because of the following errors: | ||
+ | 0509-150 Dependent module /opt/freeware/lib64/libintl.a(libintl.so.8) could not be loaded. | ||
+ | 0509-022 Cannot load module /opt/freeware/lib64/libintl.a(libintl.so.8). | ||
+ | 0509-026 System error: A file or directory in the path name does not exist. | ||
+ | </cli> | ||
+ | <cli prompt='#'> | ||
+ | # rpm -Uhv libzstd-1.5.2-1.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv ca-certificates-2021.2.52-3.aix6.1.ppc.rpm p11-kit-tools-0.23.22-1.aix6.1.ppc.rpm libtasn1-4.16.0-1.aix6.1.ppc.rpm p11-kit-0.23.22-1.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv krb5-libs-1.18.4-1.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv libssh2-1.10.0-1.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv libnghttp2-1.46.0-1.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv openldap-2.4.58-1.aix6.1.ppc.rpm cyrus-sasl-2.1.26-5.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv curl-7.83.1-1.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv zchunk-libs-1.1.4-101.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv libsolv-0.7.9-64_50.aix7.3.ppc.rpm | ||
+ | # rpm -Uhv sqlite-3.37.2-1.aix7.1.ppc.rpm readline-8.1-1.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv gdbm-1.23-1.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv python3-3.7.12-1.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv gpgme-1.13.1-100.aix7.1.ppc.rpm gnupg2-2.2.35-1.aix6.1.ppc.rpm libassuan-2.5.5-1.aix7.1.ppc.rpm libgpg-error-1.45-1.aix7.1.ppc.rpm gnutls-3.7.2-1.aix7.1.ppc.rpm libgcrypt-1.9.4-1.aix6.1.ppc.rpm libksba-1.6.0-1.aix7.1.ppc.rpm npth-1.5-1.aix6.1.ppc.rpm gmp-6.2.1-1.aix6.1.ppc.rpm nettle-3.7.3-1.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv librepo-1.11.0-100.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv libcomps-0.1.11-100.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv libsmartcols-2.34-100.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv check-0.13.0-1.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv libmodulemd-1.5.2-100.aix7.1.ppc.rpm libyaml-0.2.5-1.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv json-c-0.15-2.aix6.1.ppc.rpm | ||
+ | # rpm -Uhv rpm-python3-4.15.1-64_2.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv python3-libdnf-0.39.1-64_50.aix7.3.ppc.rpm libdnf-0.39.1-64_50.aix7.3.ppc.rpm | ||
+ | # rpm -Uhv python3-hawkey-0.39.1-64_50.aix7.3.ppc.rpm | ||
+ | # rpm -Uhv python3-libcomps-0.1.11-100.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv python3-gpg-1.13.1-100.aix7.1.ppc.rpm | ||
+ | # rpm -Uhv dnf-4.2.17-64_51.aix7.3.ppc.rpm python3-dnf-4.2.17-64_51.aix7.3.ppc.rpm dnf-data-4.2.17-64_51.aix7.3.ppc.rpm | ||
+ | </cli> | ||
+ | <cli prompt='#'> | ||
+ | # dnf update | ||
+ | </cli> | ||
+ | |||
+ | Here is the full list of installed rpm on AIX 7300-01-01 | ||
+ | <code> | ||
+ | AIX-rpm-7.3.1.1-11.ppc bzip2-1.0.8-2.ppc ca-certificates-2021.2.52-3.ppc check-0.13.0-1.ppc curl-7.83.1-1.ppc | ||
+ | cyrus-sasl-2.1.26-5.ppc db-5.3.28-1.ppc dnf-4.2.17-64_51.ppc dnf-data-4.2.17-64_51.ppc expat-2.4.9-1.ppc | ||
+ | gdbm-1.23-1.ppc gettext-0.21-2.ppc glib2-2.56.1-3.ppc gmp-6.2.1-1.ppc gnupg2-2.2.35-1.ppc gnutls-3.7.2-1.ppc | ||
+ | gpgme-1.13.1-100.ppc grep-3.7-1.ppc info-6.7-1.ppc json-c-0.15-2.ppc krb5-libs-1.18.4-1.ppc libassuan-2.5.5-1.ppc | ||
+ | libcomps-0.1.11-100.ppc libdnf-0.39.1-64_50.ppc libffi-3.4.2-1.ppc libgcc-10-2.ppc libgcc10-10.3.0-6.ppc | ||
+ | libgcc8-8.3.0-7.ppc libgcrypt-1.9.4-1.ppc libgomp-10-2.ppc libgomp10-10.3.0-6.ppc libgomp8-8.3.0-7.ppc | ||
+ | libgpg-error-1.45-1.ppc libiconv-1.17-1.ppc libksba-1.6.0-1.ppc libmodulemd-1.5.2-100.ppc | ||
+ | libnghttp2-1.46.0-1.ppc librepo-1.11.0-100.ppc libsmartcols-2.34-100.ppc libsolv-0.7.9-64_50.ppc | ||
+ | libssh2-1.10.0-1.ppc libstdc++-10-2.ppc libstdc++10-10.3.0-6.ppc libtasn1-4.16.0-1.ppc libtextstyle-0.21-2.ppc | ||
+ | libunistring-0.9.10-1.ppc libxml2-2.10.2-1.ppc libyaml-0.2.5-1.ppc libzstd-1.5.2-1.ppc ncurses-6.3-1.ppc | ||
+ | nettle-3.7.3-1.ppc npth-1.5-1.ppc openldap-2.4.58-1.ppc p11-kit-0.23.22-1.ppc p11-kit-tools-0.23.22-1.ppc | ||
+ | python3-3.7.12-1.ppc python3-dnf-4.2.17-64_51.ppc python3-gpg-1.13.1-100.ppc python3-hawkey-0.39.1-64_50.ppc | ||
+ | python3-libcomps-0.1.11-100.ppc python3-libdnf-0.39.1-64_50.ppc readline-8.1-1.ppc rpm-python3-4.15.1-64_2.ppc | ||
+ | sqlite-3.37.2-1.ppc xz-libs-5.2.5-1.ppc zchunk-libs-1.1.4-101.ppc zlib-1.2.12-1.ppc | ||
+ | </code> | ||
===== Yum update ===== | ===== Yum update ===== | ||
Line 200: | Line 283: | ||
===== Yum errors ===== | ===== Yum errors ===== | ||
+ | ==== YUM check ==== | ||
+ | |||
+ | === Error === | ||
+ | |||
+ | Here you can see bad packages, gcc compiled for AIX 7.1 on a AIX 7.2. | ||
+ | <cli prompt='#'> | ||
+ | [root@aixdev]/root# yum check | ||
+ | 1:libgcc-8-1.ppc has missing requires of AIX-rpm < ('0', '7.2.0.0', None) | ||
+ | libgcc8-8.3.0-6.ppc has missing requires of AIX-rpm < ('0', '7.2.0.0', None) | ||
+ | 1:libgomp-8-1.ppc has missing requires of AIX-rpm < ('0', '7.2.0.0', None) | ||
+ | libgomp8-8.3.0-6.ppc has missing requires of AIX-rpm < ('0', '7.2.0.0', None) | ||
+ | 1:libstdc++-8-1.ppc has missing requires of AIX-rpm < ('0', '7.2.0.0', None) | ||
+ | libstdc++8-8.3.0-6.ppc has missing requires of AIX-rpm < ('0', '7.2.0.0', None) | ||
+ | Error: check all | ||
+ | [root@aixdev]/root# | ||
+ | </cli> | ||
+ | |||
+ | Or | ||
+ | <cli prompt='#'> | ||
+ | [root@aixdev]/root# yum check | ||
+ | Could not load program /opt/freeware/bin/python2: | ||
+ | Dependent module libstdc++.a(libstdc++.so.6) could not be loaded. | ||
+ | Could not load module libstdc++.a(libstdc++.so.6). | ||
+ | System error: No such file or directory | ||
+ | </cli> | ||
+ | |||
+ | <cli prompt='#'> | ||
+ | [root@aixdev]/root# oslevel -s | ||
+ | 7200-05-04-2220 | ||
+ | [root@aixdev]/root# rpm -ql libgcc8 | ||
+ | /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0 | ||
+ | ... | ||
+ | </cli> | ||
+ | |||
+ | === Resolution === | ||
+ | |||
+ | Reinstall force all conflicted packages | ||
+ | <cli prompt='#'> | ||
+ | [root@aixdev]/mnt/rpm/ibm/latest/ppc-7.2# rpm -Uhv libstdcplusplus-10-2.aix7.2.ppc.rpm libgcc-10-2.aix7.2.ppc.rpm libgomp-10-2.aix7.2.ppc.rpm libgcc10-10.3.0-6.aix7.2.ppc.rpm libstdcplusplus10-10.3.0-6.aix7.2.ppc.rpm libgomp10-10.3.0-6.aix7.2.ppc.rpm | ||
+ | [root@aixdev]/mnt/rpm/ibm/latest/ppc-7.2# rpm --force -ivh libgcc8-8.3.0-6.aix7.2.ppc.rpm libgomp8-8.3.0-6.aix7.2.ppc.rpm libstdcplusplus8-8.3.0-6.aix7.2.ppc.rpm | ||
+ | </cli> | ||
+ | |||
+ | Yum check is now OK | ||
==== popt ==== | ==== popt ==== | ||
Line 252: | Line 378: | ||
<cli> | <cli> | ||
- | [root@aixb039] /mnt/rpms_ibm/aix/yum> rpm -e openssl | + | [root@aix39] /mnt/rpms_ibm/aix/yum> rpm -e openssl |
warning: file /usr/linux/bin/c_rehash: remove failed: No such file or directory | warning: file /usr/linux/bin/c_rehash: remove failed: No such file or directory | ||
</cli> | </cli> | ||
+ | ==== libcrypto/libssl ==== | ||
+ | |||
+ | === Error === | ||
+ | |||
+ | <code> | ||
+ | Error: Package: krb5-libs-1.18.5-2.ppc (AIX_Toolbox_BDL) | ||
+ | Requires: libcrypto.a(libcrypto.so.1.1) | ||
+ | Error: Package: openldap-2.4.58-4.ppc (AIX_Toolbox_BDL) | ||
+ | Requires: libssl.a(libssl.so.1.1) | ||
+ | Error: Package: openldap-2.4.58-4.ppc (AIX_Toolbox_BDL) | ||
+ | Requires: libcrypto.a(libcrypto.so.1.1) | ||
+ | Error: Package: krb5-libs-1.18.5-2.ppc (AIX_Toolbox_BDL) | ||
+ | Requires: libssl.a(libssl.so.1.1) | ||
+ | </code> | ||
+ | |||
+ | === Resolution === | ||
+ | |||
+ | Bad version of **openssl** | ||
+ | * Else you upgrade openssl to version 1.1.1 (and openssh associated) | ||
+ | * Or remove the packages : krb5-libs, openldap and cyrus-sasl from repository | ||
+ | ==== xz-libs ==== | ||
+ | |||
+ | === Error === | ||
+ | |||
+ | <code> | ||
+ | Symbol resolution failed for /opt/freeware/lib/libxml2.a(libxml2.so.2) because: | ||
+ | Symbol _GLOBAL__AIXI_liblzma_so (number 4) is not exported from dependent | ||
+ | module /opt/freeware/lib/liblzma.a(liblzma.so.5). | ||
+ | Symbol _GLOBAL__AIXD_liblzma_so (number 5) is not exported from dependent | ||
+ | module /opt/freeware/lib/liblzma.a(liblzma.so.5). | ||
+ | Could not load module /opt/freeware/lib/python2.7/site-packages/_sqlitecache.so. | ||
+ | System error: Exec format error | ||
+ | Examine .loader section symbols with the 'dump -Tv' command. | ||
+ | </code> | ||
+ | |||
+ | === Resolution === | ||
+ | |||
+ | <cli> | ||
+ | [root@aix39] /mnt/rpms_ibm/aix/aix72> rpm -Uhv xz\-libs\-5.2.5\-1.aix6.1.ppc.rpm | ||
+ | </cli> | ||
+ | |||
+ | ==== curl ==== | ||
+ | |||
+ | === Error === | ||
+ | |||
+ | <code> | ||
+ | There was a problem importing one of the Python modules | ||
+ | required to run yum. The error leading to this problem was: | ||
+ | |||
+ | pycurl: libcurl link-time version (7.52.1) is older than compile-time version (7.56.1) | ||
+ | |||
+ | Please install a package which provides this module, or | ||
+ | verify that the module is installed correctly. | ||
+ | |||
+ | It's possible that the above module doesn't match the | ||
+ | current version of Python, which is: | ||
+ | 2.7.18 (default, May 31 2021, 11:28:01) | ||
+ | [GCC 8.3.0] | ||
+ | |||
+ | </code> | ||
+ | |||
+ | === Resolution === | ||
+ | |||
+ | <cli> | ||
+ | [root@aix05] /mnt/aix/aix72> rpm -Uhv curl\-7.76.1\-1.aix6.1.ppc.rpm | ||
+ | </cli> | ||
+ | |||
+ | ==== bzip2 ==== | ||
+ | |||
+ | === Error === | ||
+ | |||
+ | <code> | ||
+ | rtld: 0712-001 Symbol _GLOBAL__AIXI_libbz2_so was referenced | ||
+ | from module /opt/freeware/lib/python2.7/lib-dynload/bz2.so(), but a runtime definition | ||
+ | of the symbol was not found. | ||
+ | rtld: 0712-001 Symbol _GLOBAL__AIXD_libbz2_so was referenced | ||
+ | from module /opt/freeware/lib/python2.7/lib-dynload/bz2.so(), but a runtime definition | ||
+ | of the symbol was not found. | ||
+ | </code> | ||
+ | |||
+ | === Resolution === | ||
+ | |||
+ | <cli> | ||
+ | [root@aix05] /mnt/aix/aix72> rpm --force -i bzip2\-1.0.8\-2.aix6.1.ppc.rpm | ||
+ | </cli> | ||
+ | |||
+ | ==== libpng / freetype2 ==== | ||
+ | |||
+ | === Error === | ||
+ | |||
+ | <code> | ||
+ | Error: Package: freetype2-2.10.4-1.ppc (installed) | ||
+ | Requires: libpng16.a(libpng16.so.16) | ||
+ | Removing: libpng-1.6.31-1.ppc (installed) | ||
+ | libpng16.a(libpng16.so.16) | ||
+ | Updated By: 2:libpng-1.2.32-2.ppc (AIX_Toolbox) | ||
+ | Not found | ||
+ | Available: libpng-1.6.27-3.ppc (AIX_Toolbox) | ||
+ | libpng16.a(libpng16.so.16) | ||
+ | You could try using --skip-broken to work around the problem | ||
+ | You could try running: rpm -Va --nofiles --nodigest | ||
+ | </code> | ||
+ | |||
+ | === Resolution === | ||
+ | |||
+ | <cli> | ||
+ | [root@aix05] /root> rpm -e freetype2 fontconfig libXft | ||
+ | </cli> | ||
====== Install YUM on AIX ====== | ====== Install YUM on AIX ====== | ||
Line 596: | Line 830: | ||
ATTENTION libgcc is for specific version of AIX 7.1 or 7.2 | ATTENTION libgcc is for specific version of AIX 7.1 or 7.2 | ||
- | rpm -Uhv libgcc\-8.3.0\-2.aix7.2.ppc.rpm libstdcplusplus\-8.3.0\-2.aix7.2.ppc.rpm | + | <cli prompt='#'> |
- | + | rpm -Uhv libgcc\-8.3.0\-2.aix7.2.ppc.rpm libstdcplusplus\-8.3.0\-2.aix7.2.ppc.rpm | |
- | rpm -Uhv zlib\-1.2.11\-1.aix6.1.ppc.rpm xz\-libs\-5.2.5\-1.aix6.1.ppc.rpm | + | rpm -Uhv zlib\-1.2.11\-1.aix6.1.ppc.rpm xz\-libs\-5.2.5\-1.aix6.1.ppc.rpm |
- | + | rpm -Uhv gettext\-0.19.8.1\-5.aix6.1.ppc.rpm libiconv\-1.16\-1.aix6.1.ppc.rpm ncurses\-6.2\-1.aix6.1.ppc.rpm libxml2\-2.9.9\-1.aix6.1.ppc.rpm libunistring\-0.9.9\-2.aix6.1.ppc.rpm glib2\-2.56.1\-2.aix6.1.ppc.rpm libffi\-3.2.1\-3.aix6.1.ppc.rpm | |
- | rpm -Uhv gettext\-0.19.8.1\-5.aix6.1.ppc.rpm libiconv\-1.16\-1.aix6.1.ppc.rpm ncurses\-6.2\-1.aix6.1.ppc.rpm libxml2\-2.9.9\-1.aix6.1.ppc.rpm libuni | + | </cli> |
- | string\-0.9.9\-2.aix6.1.ppc.rpm glib2\-2.56.1\-2.aix6.1.ppc.rpm libffi\-3.2.1\-3.aix6.1.ppc.rpm | + | |
- | + | ||
then: yum update | then: yum update | ||
Line 611: | Line 844: | ||
First we can examine the library listed in the error: | First we can examine the library listed in the error: | ||
+ | <cli prompt='#'> | ||
# ar -X32_64 -tv /opt/freeware/lib/libintl.a | grep libintl | # ar -X32_64 -tv /opt/freeware/lib/libintl.a | grep libintl | ||
rwxr-xr-x 203/1 114582 Jan 04 14:38 2008 libintl.so.1 | rwxr-xr-x 203/1 114582 Jan 04 14:38 2008 libintl.so.1 | ||
rwxr-xr-x 203/1 130986 Jan 04 14:40 2008 libintl.so.1 | rwxr-xr-x 203/1 130986 Jan 04 14:40 2008 libintl.so.1 | ||
+ | </cli> | ||
Now, let's examine the libintl.a from rpm.rte: | Now, let's examine the libintl.a from rpm.rte: | ||
+ | <cli prompt='#'> | ||
# ar -X32_64 -tv /usr/opt/rpm/lib/libintl.a | # ar -X32_64 -tv /usr/opt/rpm/lib/libintl.a | ||
rwxr-xr-x 0/0 86741 Jun 02 08:56 2016 libintl.so.8 | rwxr-xr-x 0/0 86741 Jun 02 08:56 2016 libintl.so.8 | ||
Line 623: | Line 857: | ||
rwxr-xr-x 0/0 114582 Apr 06 13:53 2017 libintl.so.1 | rwxr-xr-x 0/0 114582 Apr 06 13:53 2017 libintl.so.1 | ||
rwxr-xr-x 0/0 130986 Apr 06 13:53 2017 libintl.so.1 | rwxr-xr-x 0/0 130986 Apr 06 13:53 2017 libintl.so.1 | ||
+ | </cli> | ||
Now we can determine what provided this problematic libintl.a: | Now we can determine what provided this problematic libintl.a: | ||
+ | <cli prompt='#'> | ||
# rpm -q --whatprovides /opt/freeware/lib/libintl.a | # rpm -q --whatprovides /opt/freeware/lib/libintl.a | ||
gettext-0.19.8.1-1.ppc (current Toolbox version) | gettext-0.19.8.1-1.ppc (current Toolbox version) | ||
- | + | </cli> | |
This occurs in a specific scenario where the gettext - 0.19.7-1 rpm was installed when rpm.rte 3.0.5 was installed. Later, rpm.rte was updated to 4.13.0.n which provided a libintl.a with libintl.so.8. | This occurs in a specific scenario where the gettext - 0.19.7-1 rpm was installed when rpm.rte 3.0.5 was installed. Later, rpm.rte was updated to 4.13.0.n which provided a libintl.a with libintl.so.8. | ||
Line 637: | Line 872: | ||
This issue was fixed in gettext 0.19.8.1-2 release where the backed-up libintl.a was removed, so it cannot replace the latest libintl.a file. | This issue was fixed in gettext 0.19.8.1-2 release where the backed-up libintl.a was removed, so it cannot replace the latest libintl.a file. | ||
+ | |||
+ | ===== DNF error on AIX 7.3 ===== | ||
+ | |||
+ | <cli> | ||
+ | # updtvpkg | ||
+ | warning: Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend. | ||
+ | </cli> | ||
+ | |||
+ | Convert the db from bdb_ro to sqlite before running updtvpkg | ||
+ | <cli> | ||
+ | # rpmdb -–rebuilddb | ||
+ | </cli> | ||
+ | |||
+ | https://www.ibm.com/support/pages/node/7113626 |