Hi Kolin
Thanks for the hint - I got it run again.
Here my procedure for the rest of the community.
ar -tv /usr/lib/libiconv.a
find /opt -type f -name libiconv.a
ar -tv /opt/freeware/lib/libiconv.a
mv /usr/lib/libiconv.a /usr/lib/libiconv.a.old
ln -s /opt/freeware/lib/libiconv.a /usr/lib/libiconv.a
After this I got some "0509-130 Symbol resolution failed for /opt/freeware/lib/libglib-2.0.a[libglib-2.0.so.0]" errors
This I could fix with adapting my LIBPATH
before: export LIBPATH=/usr/lib:/opt/freeware/lib:/usr/local/lib
CAVEAT: After making the changes above my system did not boot anymore correctly.
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: export LIBPATH=/opt/freeware/lib:/usr/lib:/usr/local/lib
Now dnf work again.
Regards Stefan
------------------------------
Stefan Koller
------------------------------
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