After this I got some "0509-130 Symbol resolution failed for /opt/freeware/lib/libglib-2.0.a[libglib-2.0.so.0]" errors
It seems /usr/lib/libiconv.a is neede during boot before /opt is mounted. Because this file is a link into /opt/freeware the system behaved very strange. Filesystems got not mounted, sshd not started beacause of missing random-link, other VGs stayed offline.
I set back /usr/lib/libiconv.a to the original file. I unset LIBPATH. Afterwards the system booted without problems and dnf was working. It seems the original problem was only caused because we had set LIBPATH for root.
Now dnf work again.
Original Message:
Sent: Wed January 17, 2024 04:52 PM
From: Kolin Vance
Subject: DNF update breaks dnf AIX 7.3.1.2
Stefan:
Start with the lowest error on the list first, "/usr/lib/libiconv.a(libiconv.so.2)"
Do an ls -l on /usr/lib/libiconv.a then ar -tv on the same file. This will verify the "libiconv.so.2" is not contained in that archive file.
Next
Do a find in /opt and look for libiconv.a also do an ls -l when you find it (make sure its not linked) then do the ar -tv <on the libiconv.a in /opt> it should contain the "libiconv.so.2" you're looking for.
Next
Move the /usr/lib/libiconv.a to some other file name, and do ln -s <on the libiconv.a in /opt> /usr/lib/libiconv.a
This will give you the libiconv.so.2 that dnf needs. If you get another error, do a rinse and repeat on checking and moving the incorrect files out of /usr/lib and link the correct archives to /usr/lib.
-Kolin
------------------------------
Kolin Vance
Original Message:
Sent: Wed January 17, 2024 12:05 PM
From: Stefan Koller
Subject: DNF update breaks dnf AIX 7.3.1.2
Hello Kolin
I had a problem with createrepo because of libiconv library. I did also a "dnf update dnf" and now all "dnf-commands" lead to similar errors.
Before the update all dnf taks were successfull.
# dnf history
Traceback (most recent call last):
File "/opt/freeware/bin/dnf", line 58, in <module>
from dnf.cli import main
File "/opt/freeware/lib/python3.9/site-packages/dnf/__init__.py", line 30, in <module>
import dnf.base
File "/opt/freeware/lib/python3.9/site-packages/dnf/base.py", line 29, in <module>
import libdnf.transaction
File "/opt/freeware/lib64/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
from . import common_types
File "/opt/freeware/lib64/python3.9/site-packages/libdnf/common_types.py", line 13, in <module>
from . import _common_types
ImportError: 0509-022 Cannot load module /opt/freeware/lib64/python3.9/site-packages/libdnf/_common_types.so.
0509-150 Dependent module /usr/lib/libiconv.a(libiconv.so.2) could not be loaded.
0509-152 Member libiconv.so.2 is not found in archive
I do not get your hint to link the new libraries. I do now have the directory /opt/freeware/libdnfdeps.
May you have more details?
# oslevel -s
7300-01-01-2246
# rpm -qa|grep dnf
python3.9-dnf-plugins-core-4.0.16-64_52.ppc
libdnf-0.39.1-64_52.ppc
python3-dnf-4.2.17-64_53.ppc
dnf-automatic-4.2.17-64_53.ppc
python3-dnf-plugins-core-4.0.16-64_52.ppc
dnf-data-4.2.17-64_53.ppc
python3.9-libdnf-0.39.1-64_52.ppc
python3.9-dnf-4.2.17-64_53.ppc
dnf-4.2.17-64_53.ppc
python3-libdnf-0.39.1-64_52.ppc
Any help would be appreciated
------------------------------
Stefan Koller
Original Message:
Sent: Wed September 27, 2023 01:03 PM
From: Kolin Vance
Subject: DNF update breaks dnf AIX 7.3.1.2
After removing all rpms doing an "updtvpkg" then running "dnf_aixtoolbox.sh -y"
dnf is running but python3 is broken:
# python3
Could not load program python3.9:
rtld: 0712-002 fatal error: exiting.
Tried installing a later package "dnf install python3-3.9.16-2" a version that is working on other systems. Same error.
If I run "dnf update" or "dnf update python3"
and unset LIBPATH
python3 begins working.
But dnf is now broken:
# dnf repolist
Traceback (most recent call last):
File "/opt/freeware/bin/dnf", line 58, in <module>
from dnf.cli import main
File "/opt/freeware/lib/python3.9/site-packages/dnf/__init__.py", line 30, in <module>
import dnf.base
File "/opt/freeware/lib/python3.9/site-packages/dnf/base.py", line 29, in <module>
import libdnf.transaction
File "/opt/freeware/lib64/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
from . import common_types
File "/opt/freeware/lib64/python3.9/site-packages/libdnf/common_types.py", line 13, in <module>
from . import _common_types
ImportError: Could not load module /opt/freeware/lib64/librepo.a(librepo.so.0).
Dependent module /opt/freeware/lib/libcrypto.a(libcrypto.so.1.1) could not be loaded.
Member libcrypto.so.1.1 is not found in archive
exporting LIBPATH=/usr/lib and running dnf repolist
# dnf repolist
Could not load program /opt/freeware/bin/python3.9:
Symbol resolution failed for /opt/freeware/lib64/libpython3.9.a[libpython3.9.so] because:
Symbol _GLOBAL__AIXI_libintl_so (number 284) is not exported from dependent
module /usr/opt/rpm/lib/libintl.a[libintl.so.8].
Symbol _GLOBAL__AIXD_libintl_so (number 285) is not exported from dependent
module /usr/opt/rpm/lib/libintl.a[libintl.so.8].
Examine .loader section symbols with the 'dump -Tv' command.
Installed rpms:
# rpm -qa
libgcc-10-2.ppc
zlib-1.2.13-1.ppc
gmp-6.2.1-1.ppc
ncurses-6.4-1.ppc
libgomp10-10.3.0-6.ppc
libffi-3.4.2-1.ppc
xz-libs-5.4.3-1.ppc
info-7.0.2-1.ppc
libunistring-0.9.10-1.ppc
libiconv-1.17-1.ppc
sed-4.8-1.ppc
gcc10-10.3.0-6.ppc
gcc-10-2.ppc
libgpg-error-1.45-1.ppc
libassuan-2.5.5-1.ppc
readline-8.2-1.ppc
libtasn1-4.19.0-1.ppc
expat-2.5.0-1.ppc
bzip2-1.0.8-2.ppc
libgcrypt-1.10.2-1.ppc
cyrus-sasl-2.1.28-1.ppc
krb5-libs-1.20.1-1.ppc
p11-kit-tools-0.24.1-1.ppc
libcomps-0.1.15-101.ppc
dnf-data-4.2.17-64_53.ppc
nettle-3.7.3-1.ppc
libyaml-0.2.5-1.ppc
libssh2-1.10.0-2.ppc
curl-8.2.1-1.ppc
libsolv-0.7.9-64_52.ppc
gpgme-1.13.1-101.ppc
libdnf-0.39.1-64_52.ppc
python3.9-3.9.17-1.ppc
python3.9-libdnf-0.39.1-64_52.ppc
python3.9-gpg-1.13.1-101.ppc
python3.9-dnf-4.2.17-64_53.ppc
dnf-4.2.17-64_53.ppc
python3-librepo-1.11.0-102.ppc
python3-libcomps-0.1.15-101.ppc
python3-hawkey-0.39.1-64_52.ppc
AIX-rpm-7.3.1.3-1.ppc
rpm-python3.9-4.15.1-64_4.ppc
rpm-python3-4.15.1-64_4.ppc
libgcc10-10.3.0-6.ppc
libstdc++10-10.3.0-6.ppc
libstdc++-10-2.ppc
mpfr-4.1.0-1.ppc
libmpc-1.2.1-1.ppc
libgomp-10-2.ppc
pcre2-10.40-1.ppc
glib2-2.76.3-1.ppc
libtextstyle-0.21-2.ppc
libxml2-2.10.4-1.ppc
gettext-0.21-2.ppc
gcc10-cpp-10.3.0-6.ppc
gcc-cpp-10-2.ppc
libzstd-1.5.2-2.ppc
libsmartcols-2.34-101.ppc
sqlite-3.41.2-1.ppc
json-c-0.15-2.ppc
check-0.13.0-1.ppc
p11-kit-0.24.1-1.ppc
db-5.3.28-1.ppc
openldap-2.5.16-1.ppc
libksba-1.6.3-1.ppc
ca-certificates-2023.2.60-2.ppc
pinentry-1.0.0-1.ppc
npth-1.5-1.ppc
gnutls-3.7.9-1.ppc
libmodulemd-1.5.2-100.ppc
libnghttp2-1.46.0-1.ppc
zchunk-libs-1.1.4-103.ppc
gnupg2-2.2.35-1.ppc
librepo-1.11.0-102.ppc
gdbm-1.23-1.ppc
python3-3.9.17-1.ppc
python3.9-hawkey-0.39.1-64_52.ppc
python3.9-libcomps-0.1.15-101.ppc
python3-dnf-4.2.17-64_53.ppc
python3.9-librepo-1.11.0-102.ppc
dnf-automatic-4.2.17-64_53.ppc
python3-gpg-1.13.1-101.ppc
python3-libdnf-0.39.1-64_52.ppc
I found that the dnf install is not linking in the libraries from "/opt/freeware/libdnfdeps" check the required libraries and manually link them to /opt/freeware/lib/pthread/ library ie:
ln -s /opt/freeware/libdnfdeps/<required library> /opt/freeware/lib/pthread/<required library>
Once you get dnf working again you should be able to install any other needed rpms...
------------------------------
Kolin Vance
------------------------------