AIX Open Source

AIX Open Source

Share your experiences and connect with fellow developers to discover how to build and manage open source software for the AIX operating system

 View Only
  • 1.  dnf refuses to run after dnf update worked

    Posted 12 days ago

    Hi there,

    Yet another issue with dnf. I had dnf working fine on an AIX 7.2 (7200-05-09-2446) LPAR, and I ran a "dnf update", which worked.

    However, since then, dnf gives the following errors:

    With LIBPATH=/opt/freeware:/usr/lib:/usr/lib64:

    root:e360_test:/:# dnf --version
    Traceback (most recent call last):
      File "/opt/freeware/bin/dnf", line 57, 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/lib/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
        from . import common_types
      File "/opt/freeware/lib/python3.9/site-packages/libdnf/common_types.py", line 13, in <module>
        from . import _common_types
    ImportError:    0509-022 Cannot load module /opt/freeware/lib/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
            0509-022 Cannot load module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so.
            0509-150   Dependent module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so could not be loaded.
    root:e360_test:/:#

    With LIBPATH=/usr/lib:/usr/lib64:/opt/freeware I get the same issue. If I create a symlink from /usr/lib/libiconv.a to /opt/freeware/lib/libiconv.a I resolve the libiconv issue but get others:

    root:e360_test:/:# ar t /usr/lib/libiconv.a
    shr4.o
    shr.o
    root:e360_test:/:# ar t /opt/freeware/lib/libiconv.a
    libiconv.so.2
    shr4.o
    shr.o
    root:e360_test:/:# mv /usr/lib/libiconv.a /usr/lib/libiconv_bos_rte.a
    root:e360_test:/:# ln -s /opt/freeware/lib/libiconv.a /usr/lib/libiconv.a
    root:e360_test:/:# ls -l /usr/lib/libiconv.a
    lrwxrwxrwx    1 root     system           28 Jul 07 10:42 /usr/lib/libiconv.a -> /opt/freeware/lib/libiconv.a
    root:e360_test:/:# dnf --version
    Traceback (most recent call last):
      File "/opt/freeware/bin/dnf", line 57, 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/lib/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
        from . import common_types
      File "/opt/freeware/lib/python3.9/site-packages/libdnf/common_types.py", line 13, in <module>
        from . import _common_types
    ImportError:    0509-130 Symbol resolution failed for /opt/freeware/lib/libsmartcols.a(libsmartcols.so.1) because:
            0509-136   Symbol _GLOBAL__AIXI_libintl_so (number 10) is not exported from
                       dependent module /usr/opt/rpm/lib/libintl.a(libintl.so.8).
            0509-136   Symbol _GLOBAL__AIXD_libintl_so (number 11) is not exported from
                       dependent module /usr/opt/rpm/lib/libintl.a(libintl.so.8).
            0509-022 Cannot load module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so.
            0509-026 System error: Cannot run a file that does not have a valid format.
            0509-192 Examine .loader section symbols with the
                     'dump -Tv' command.
    root:e360_test:/:#

    Any ideas? As mentioned, before I ran the update dnf was working fine.

    Cheers,

    Peter

    RPMs installed:

    root:e360_test:/:# rpm -qa | sort
    AIX-rpm-7.2.5.208-27.ppc
    a2ps-4.13-4.ppc
    bash-5.2.21-1.ppc
    bzip2-1.0.8-2.ppc
    ca-certificates-2024.2.66-2.ppc
    cairo-1.18.0-1waixX11.ppc
    check-0.13.0-1.ppc
    coreutils-9.5-1.ppc
    cups-2.2.3-4.ppc
    cups-libs-2.2.3-4.ppc
    curl-8.14.1-1.ppc
    cyrus-sasl-2.1.28-1.ppc
    db-5.3.28-1.ppc
    dbus-1.14.8-1.ppc
    dnf-4.2.17-32_53.ppc
    dnf-automatic-4.2.17-32_53.ppc
    dnf-data-4.2.17-32_53.ppc
    elm-2.5.6-2.ppc
    expat-2.6.3-1.ppc
    expect-5.45.4-2.ppc
    fontconfig-2.14.2-1.ppc
    freetype2-2.13.3-1.ppc
    gcc-13-1.ppc
    gcc-c++-13-1.ppc
    gcc-cpp-13-1.ppc
    gcc13-13.3.0-1.ppc
    gcc13-c++-13.3.0-1.ppc
    gcc13-cpp-13.3.0-1.ppc
    gdbm-1.23-1.ppc
    gettext-0.21-2.ppc
    glib2-2.83.2-1.ppc
    gmp-6.3.0-1.ppc
    gnupg2-2.4.7-1.ppc
    gnutls-3.8.7-1.ppc
    gpgme-1.13.1-101.ppc
    harfbuzz-7.1.0-1.ppc
    info-7.2-1.ppc
    json-c-0.17-1.ppc
    krb5-libs-1.21.3-3.ppc
    libXft-2.3.2-5waixX11.ppc
    libXrender-0.9.8-3waixX11.ppc
    libassuan-2.5.6-1.ppc
    libcomps-0.1.15-101.ppc
    libdnf-0.39.1-32_52.ppc
    libffi-3.4.4-2.ppc
    libgcc-13-1.ppc
    libgcc13-13.3.0-1.ppc
    libgcrypt-1.10.3-1.ppc
    libgomp-13-1.ppc
    libgomp13-13.3.0-1.ppc
    libgpg-error-1.49-1.ppc
    libiconv-1.17-1.ppc
    libjpeg-9f-1.ppc
    libjpeg-devel-9f-1.ppc
    libksba-1.6.3-1.ppc
    libmodulemd-1.5.2-100.ppc
    libmpc-1.3.1-1.ppc
    libnghttp2-1.62.1-1.ppc
    libpng-1.6.42-1.ppc
    libpng-devel-1.6.42-1.ppc
    librepo-1.11.0-103.ppc
    libsmartcols-2.34-101.ppc
    libsmbclient-4.21.2-1.ppc
    libsolv-0.7.9-32_53.ppc
    libssh2-1.11.0-1.ppc
    libstdc++-13-1.ppc
    libstdc++-devel-13-1.ppc
    libstdc++13-13.3.0-1.ppc
    libstdc++13-devel-13.3.0-1.ppc
    libtasn1-4.19.0-1.ppc
    libtextstyle-0.21-2.ppc
    libunistring-1.1-1.ppc
    libxml2-2.12.9-1.ppc
    libyaml-0.2.5-1.ppc
    libzstd-1.5.2-3.ppc
    lpar2rrd-agent-7.90-1.ppc
    lzo-2.10-3.ppc
    make-4.4.1-1.ppc
    metamail-2.7-2.ppc
    mpfr-4.2.1-1.ppc
    mutt-2.2.13-1.ppc
    ncurses-6.5-1.ppc
    nettle-3.10.1-1.ppc
    npth-1.5-1.ppc
    openldap-2.5.16-3.ppc
    openssl-1.1.0f-1withsslv2.ppc
    p11-kit-0.25.5-2.ppc
    p11-kit-tools-0.25.5-2.ppc
    pcre-8.44-2.ppc
    pcre2-10.45-2.ppc
    perl-5.38.2-1.ppc
    pinentry-1.0.0-1.ppc
    pixman-0.42.2-1.ppc
    pkg-config-0.29.2-2.ppc
    popt-1.19-1.ppc
    pysqlite-2.8.3-2.ppc
    python-2.7.18-4.ppc
    python-devel-2.7.18-4.ppc
    python-iniparse-0.4-1.noarch
    python-pycurl-7.43.0.5-1.ppc
    python-tools-2.7.18-4.ppc
    python-urlgrabber-3.10.1-1.noarch
    python3-3.9.22-1.ppc
    python3-dateutil-2.8.2-1.noarch
    python3-dnf-4.2.17-32_53.ppc
    python3-dnf-plugin-migrate-4.0.16-32_52.ppc
    python3-dnf-plugins-core-4.0.16-32_52.ppc
    python3-gpg-1.13.1-101.ppc
    python3-hawkey-0.39.1-32_52.ppc
    python3-libcomps-0.1.15-101.ppc
    python3-libdnf-0.39.1-32_52.ppc
    python3-librepo-1.11.0-103.ppc
    python3-six-1.13.0-2.noarch
    python3.9-3.9.22-1.ppc
    python3.9-dateutil-2.8.2-1.noarch
    python3.9-dnf-4.2.17-32_53.ppc
    python3.9-dnf-plugin-migrate-4.0.16-32_52.ppc
    python3.9-dnf-plugins-core-4.0.16-32_52.ppc
    python3.9-gpg-1.13.1-101.ppc
    python3.9-hawkey-0.39.1-32_52.ppc
    python3.9-libcomps-0.1.15-101.ppc
    python3.9-libdnf-0.39.1-32_52.ppc
    python3.9-librepo-1.11.0-103.ppc
    python3.9-six-1.13.0-2.noarch
    readline-8.2-1.ppc
    rpm-python3-4.15.1-32_2.ppc
    rpm-python3.9-4.15.1-32_2.ppc
    samba-4.21.2-1.ppc
    samba-client-4.21.2-1.ppc
    samba-common-4.21.2-1.ppc
    samba-devel-4.21.2-1.ppc
    samba-libs-4.21.2-1.ppc
    samba-winbind-4.21.2-1.ppc
    samba-winbind-clients-4.21.2-1.ppc
    sed-4.9-1.ppc
    sqlite-3.49.2-1.ppc
    sudo-1.9.16p2-1.ppc
    tcl-8.6.13-1.ppc
    tk-8.6.13-1.ppc
    unzip-6.0-4.ppc
    wget-1.25.0-1.ppc
    xshield-monitoring-agent-25.1.7-1.ppc
    xz-libs-5.8.1-1.ppc
    yum-metadata-parser-1.1.4-2.ppc
    zchunk-libs-1.1.4-103.ppc
    zlib-1.2.13-1.ppc
    zlib-devel-1.2.13-1.ppc
    root:e360_test:/:#



    ------------------------------
    petermc 9BBD
    andersenIT
    Brisbane
    ------------------------------


  • 2.  RE: dnf refuses to run after dnf update worked

    Posted 12 days ago

    Hi Peter,

    The problem is in your libpath.
    LIBPATH=/usr/lib:/usr/lib64:/opt/freeware

    When you use this, it will take the /usr/lib/libiconv, but toolbox needs /opt/freeware/lib/libiconv.a

    The best thing to do is first remove the soft link you created. I am assuming the older /opt/freeware/lib/libiconv.a is now gone since you created the soft link.

    Do rpm -e libiconv-1.17-1.ppc

    Then

    wget https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/libiconv/libiconv-1.17-1.aix7.1.ppc.rpm

    rpm -Uvh libiconv-1.17-1.aix7.1.ppc.rpm

    export LIBPATH=/opt/freeware/lib:/usr/lib:/usr/lib64:/
    Then do dnf update

    It should work



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 3.  RE: dnf refuses to run after dnf update worked

    Posted 10 days ago

    Hi Aditya,

    Thanks for your reply. As I mentioned in the first part of my post, when /opt/freeware is first in the LIBPATH variable, I get different results - still library errors but different.

    The original version of /usr/lib/libiconv.a is from bos.rte.iconv, which I saved before making the symlink:

    root:e360_test:/:# ls -l /usr/lib/libiconv*
    lrwxrwxrwx    1 root     system           28 Jul 07 10:42 /usr/lib/libiconv.a -> /opt/freeware/lib/libiconv.a
    -r--r--r--    1 bin      bin          782725 Feb 20 2020  /usr/lib/libiconv_bos_rte.a <-- this one is from bos.rte.iconv package
    root:e360_test:/:# unlink /usr/lib/libiconv.a

    I cannot remove the libiconv rpm as there are quite a few packages with dependencies:

    root:e360_test:/:# rpm -e libiconv-1.17-1.ppc
    error: Failed dependencies:
            libiconv >= 1.17 is needed by (installed) glib2-2.83.2-1.ppc
            libiconv >= 1.17 is needed by (installed) libunistring-1.1-1.ppc
            libiconv >= 1.17 is needed by (installed) libxml2-2.12.9-1.ppc
            libiconv >= 1.16 is needed by (installed) libtextstyle-0.21-2.ppc
            libiconv >= 1.17 is needed by (installed) bash-5.2.21-1.ppc
            libiconv >= 1.16 is needed by (installed) gettext-0.21-2.ppc
            libiconv >= 1.17 is needed by (installed) info-7.2-1.ppc
            libiconv >= 1.17 is needed by (installed) popt-1.19-1.ppc
            libiconv >= 1.17 is needed by (installed) coreutils-9.5-1.ppc
            libiconv >= 1.17 is needed by (installed) samba-common-4.21.2-1.ppc
            libiconv >= 1.17 is needed by (installed) gnupg2-2.4.7-1.ppc
            libiconv >= 1.16 is needed by (installed) librepo-1.11.0-103.ppc
            libiconv >= 1.16 is needed by (installed) libdnf-0.39.1-32_52.ppc
            libiconv >= 1.17 is needed by (installed) mutt-2.2.13-1.ppc
            libiconv >= 1.17 is needed by (installed) wget-1.25.0-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) glib2-2.83.2-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) libunistring-1.1-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) libxml2-2.12.9-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) libtextstyle-0.21-2.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) bash-5.2.21-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) gettext-0.21-2.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) info-7.2-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) popt-1.19-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) coreutils-9.5-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) cups-libs-2.2.3-4.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) samba-common-4.21.2-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) samba-devel-4.21.2-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) gnupg2-2.4.7-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) librepo-1.11.0-103.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) libdnf-0.39.1-32_52.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) python3.9-libdnf-0.39.1-32_52.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) python3.9-hawkey-0.39.1-32_52.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) python3.9-librepo-1.11.0-103.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) mutt-2.2.13-1.ppc
            libiconv.a(libiconv.so.2) is needed by (installed) wget-1.25.0-1.ppc
    root:e360_test:/:#

     So, I did reinstall it after unlinking /usr/lib/libiconv.a. This gave me the libiconv errors again - it would appear that if /usr/lib/libiconv.a exists, the install of the rpm also adds the library from bos.rte.iconv:

    root:e360_test:/:# rpm --verify libiconv-1.17-1.ppc
    S.5....T.    /opt/freeware/lib/libiconv.a    <-- this says that the file size is not the same as from the original package, and the MD5 is also different
    root:e360_test:/:# ls -l /opt/freeware/lib/libiconv.a
    -rw-r--r--    1 root     system      3205217 Jul  7 09:35 /opt/freeware/lib/libiconv.a
    root:e360_test:/:#

    root:e360_test:/tmp:# rpm -Uvh libiconv-1.17-1.aix7.1.ppc.rpm
    warning: libiconv-1.17-1.aix7.1.ppc.rpm: Header V4 RSA/SHA256 Signature, key ID 41eea8e0: NOKEY
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
            package libiconv-1.17-1.ppc is already installed
    root:e360_test:/tmp:# iconv-1.17-1.aix7.1.ppc.rpm                            <
    warning: libiconv-1.17-1.aix7.1.ppc.rpm: Header V4 RSA/SHA256 Signature, key ID 41eea8e0: NOKEY
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:libiconv-1.17-1                  ################################# [ 50%]
    ar: 0707-100 /usr/lib/libiconv.a does not exist.    <-- hmm
    ar: 0707-100 /usr/lib/libiconv.a does not exist.    <-- Hmm, makes me think that it incorporates /usr/lib/libiconv.a into /opt/freeware/lib/libiconv.a
    strip: * -- 0654-400 Cannot open file.
            No such file or directory
    /
    Cleaning up / removing...
       2:libiconv-1.17-1                  ################################# [100%]
    root:e360_test:/tmp:#

    root:e360_test:/:# ls -l /opt/freeware/lib/libiconv.a
    -rw-r--r--    1 root     system      2425475 Jul  9 09:53 /opt/freeware/lib/libiconv.a
    root:e360_test:/:# ar t /opt/freeware/lib/libiconv.a
    libiconv.so.2
    root:e360_test:/:#


    root:e360_test:/:# ls -l /usr/lib/libiconv*
    -r--r--r--    1 bin      bin          782725 Feb 20 2020  /usr/lib/libiconv_bos_rte.a
    root:e360_test:/:# mv /usr/lib/libiconv_bos_rte.a /usr/lib/libiconv.a   <-- restoring original /usr/lib/libiconv.a from bos.rte.iconv
    root:e360_test:/:# lslpp -w /usr/lib/libiconv.a
      File                                        Fileset               Type
      ----------------------------------------------------------------------------
      /usr/lib/libiconv.a                         bos.rte.iconv         File
    root:e360_test:/:# ls -l /usr/lib/libiconv.a
    -r--r--r--    1 bin      bin          782725 Feb 20 2020  /usr/lib/libiconv.a
    root:e360_test:/:#

    root:e360_test:/tmp:# rpm -Uvh --replacepkgs --replacefiles libiconv-1.17-1.aix7.1.ppc.rpm
    warning: libiconv-1.17-1.aix7.1.ppc.rpm: Header V4 RSA/SHA256 Signature, key ID 41eea8e0: NOKEY
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:libiconv-1.17-1                  ################################# [ 50%]
    add shr4.o shared members from /usr/lib/libiconv.a to  /opt/freeware/lib/libiconv.a    <-- so it DOES add from /usr/lib/libiconv.a to /opt/freeware/lib/libiconv.a
    add shr.o shared members from /usr/lib/libiconv.a to  /opt/freeware/lib/libiconv.a
    add shr4_64.o shared members from /usr/lib/libiconv.a to  /opt/freeware/lib/libiconv.a
    /
    Cleaning up / removing...
       2:libiconv-1.17-1                  ################################# [100%]
    root:e360_test:/tmp:#

    However, all of this doesn't resolve the isue. Without LIBPATH set, I get these errors:

    root:e360_test:/:# echo $LIBPATH

    root:e360_test:/:#

    root:e360_test:/:# dnf --version
    Traceback (most recent call last):
      File "/opt/freeware/bin/dnf", line 57, 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/lib/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
        from . import common_types
      File "/opt/freeware/lib/python3.9/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.1) could not be loaded.
            0509-152   Member libcrypto.so.1.1 is not found in archive
            0509-022 Cannot load module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so.
            0509-150   Dependent module /opt/freeware/lib/librepo.a(librepo.so.0) could not be loaded.
    root:e360_test:/:#  ar t /opt/freeware/lib/librepo.a
    librepo.so.0
    root:e360_test:/:# ar t /opt/freeware/lib/libcrypto.a
    libcrypto.so.1.1.0
    libcrypto.so.0.9.7
    libcrypto.so.0.9.8
    libcrypto.so.1.0.0
    libcrypto.so.1.0.1
    libcrypto.so.1.0.2
    root:e360_test:/:# 

    With LIBPATH set to /opt/freeware:/usr/lib:/usr/lib64:/ as per your suggestion:

    root:e360_test:/:# export LIBPATH=/opt/freeware:/usr/lib:/usr/lib64:/

    root:e360_test:/:# dnf --version
    Traceback (most recent call last):
      File "/opt/freeware/bin/dnf", line 57, 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/lib/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
        from . import common_types
      File "/opt/freeware/lib/python3.9/site-packages/libdnf/common_types.py", line 13, in <module>
        from . import _common_types
    ImportError:    0509-022 Cannot load module /opt/freeware/lib/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
            0509-022 Cannot load module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so.
            0509-150   Dependent module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so could not be loaded.
    root:e360_test:/:#

    I still get libiconv errors. Seems like no matter what I do, I still get library errors. For some reason python is trying to load libiconv from /usr/lib not /opt/freeware/lib.

    As I said, this LPAR's dnf was working previously prior to the update, although I did get errors moving from yum to dnf - I posted about this in the forum a few weeks ago, and apart from someone asking for an rpm list, I got no reply:

    https://community.ibm.com/community/user/discussion/update-yum-to-dnf-fails-when-migrating-yum-db

    Cheers,

    Peter



    ------------------------------
    petermc 9BBD
    andersenIT
    Brisbane
    ------------------------------



  • 4.  RE: dnf refuses to run after dnf update worked

    Posted 10 days ago

    Hi Peter,

    # ar -t /usr/lib/libiconv.a
    shr4.o
    shr.o

    # ar -t /opt/freeware/lib/libiconv.a
    libiconv.so.2
    shr4.o
    shr.o

    # ar -t /usr/lib/libcrypto.a
    libcrypto.so
    libcrypto.so.0.9.8
    libcrypto.so.1.0.0
    libcrypto.so.1.0.2
    libcrypto.so.1.1
    libcrypto.so.3

    Are these 3 libraries exactly as above? You may not have openssl3, so I am assuming itlibcrypto.so.3 will not be there. But that is okay for now.

    Also, please use 

    export LIBPATH=/opt/freeware/lib:/usr/lib:/usr/lib64/

    instead of export LIBPATH=/opt/freeware:/usr/lib:/usr/lib64:/

    What happens when we do that? Atleast the correct libiconv must go. Then we can figure out the rest if any issues.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 5.  RE: dnf refuses to run after dnf update worked

    Posted 10 days ago

    Hi Aditya,

    Here's the output. My /usr/lib/libcrypto.a doesn't have libcrypto.so.0.9.8 but does have libcrypto.so.1.1. My versions of openssl are rpm 1.1.0f and AIX package openssl.base of 3.0.13.1000.

    root:e360_test:/:#
    root:e360_test:/:# ar -t /usr/lib/libiconv.a
    shr4.o
    shr.o
    root:e360_test:/:# ar -t /opt/freeware/lib/libiconv.a
    libiconv.so.2
    shr4.o
    shr.o
    root:e360_test:/:#
    root:e360_test:/:# ar -t /usr/lib/libcrypto.a
    libcrypto.so
    libcrypto.so.1.0.0
    libcrypto.so.1.0.2
    libcrypto.so.1.1
    libcrypto.so.3
    root:e360_test:/:# rpm -qa | grep openssl
    openssl-1.1.0f-1withsslv2.ppc
    root:e360_test:/:#
    root:e360_test:/:# lslpp -l openssl.base
      Fileset                      Level  State      Description
      ----------------------------------------------------------------------------
    Path: /usr/lib/objrepos
      openssl.base           3.0.13.1000  COMMITTED  Open Secure Socket Layer

    Path: /etc/objrepos
      openssl.base           3.0.13.1000  COMMITTED  Open Secure Socket Layer
    root:e360_test:/:#
    root:e360_test:/:#
    root:e360_test:/:# export LIBPATH=/opt/freeware/lib:/usr/lib:/usr/lib64:/
    root:e360_test:/:#
    root:e360_test:/:# dnf --version
    Traceback (most recent call last):
      File "/opt/freeware/bin/dnf", line 57, 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/lib/python3.9/site-packages/libdnf/__init__.py", line 3, in <module>
        from . import common_types
      File "/opt/freeware/lib/python3.9/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.1) could not be loaded.  <-- looking in /opt/freeware/lib/libcrypto.a not /usr/lib/libcrypto.a
            0509-152   Member libcrypto.so.1.1 is not found in archive
            0509-022 Cannot load module /opt/freeware/lib/python3.9/site-packages/libdnf/_common_types.so.
            0509-150   Dependent module /opt/freeware/lib/librepo.a(librepo.so.0) could not be loaded.
    root:e360_test:/:#

    Still no luck :-(

    The reason I used only /opt/freeware in my LIBPATH is that on other systems it appears to need libraries in other directories under /opt/freeware, so using /opt/freeware includes them all.

    The libcrypto.a in /opt/freeware/lib:

    root:e360_test:/:# ar -t /opt/freeware/lib/libcrypto.a
    libcrypto.so.1.1.0
    libcrypto.so.0.9.7
    libcrypto.so.0.9.8
    libcrypto.so.1.0.0
    libcrypto.so.1.0.1
    libcrypto.so.1.0.2
    root:e360_test:/:#

    The required  module is not there, so the error is correct, it's just not looking in the right place. Perhaps I need to update the openssl rpm package?

    Cheers,

    Peter



    ------------------------------
    petermc 9BBD
    andersenIT
    Brisbane
    ------------------------------



  • 6.  RE: dnf refuses to run after dnf update worked

    Posted 10 days ago

    Hi,

    We are on the right track to fix this.

    Let's use export LIBPATH=/opt/freeware/lib:/usr/lib:/usr/lib64/

    So one thing is what is the output of rpm -ql openssl-1.1.0f-1withsslv2.ppc | grep crypto or just rpm -ql openssl-1.1.0f-1withsslv2.ppc

    Do you see that libcrypto. If yes, let us remove this rpm using rpm -e openssl-1.1.0f-1withsslv2.ppc

    Then try dnf update.

    If not let me know. We have to look at other things.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 7.  RE: dnf refuses to run after dnf update worked

    Posted 10 days ago

    HI Aditya,

    Yes there are/were several libcryptos in the package (some output removed):

    root:e360_test:/:# rpm -ql openssl-1.1.0f-1withsslv2.ppc
    ...
    /opt/freeware/lib/libcrypto.a
    /opt/freeware/lib/libcrypto.so
    /opt/freeware/lib/libcrypto.so.0.9.7
    /opt/freeware/lib/libcrypto.so.0.9.8
    /opt/freeware/lib/libcrypto.so.1.0.0
    /opt/freeware/lib/libcrypto.so.1.0.1
    /opt/freeware/lib/libcrypto.so.1.0.2
    /opt/freeware/lib/libcrypto.so.1.1.0
    ...

    /opt/freeware/lib64/libcrypto.so
    /opt/freeware/lib64/libcrypto.so.0.9.7
    /opt/freeware/lib64/libcrypto.so.0.9.8
    /opt/freeware/lib64/libcrypto.so.1.0.0
    /opt/freeware/lib64/libcrypto.so.1.0.1
    /opt/freeware/lib64/libcrypto.so.1.0.2
    /opt/freeware/lib64/libcrypto.so.1.1.0
    ...

    /usr/linux/lib/libcrypto.a
    /usr/linux/lib/libcrypto.so
    /usr/linux/lib/libcrypto.so.1.1.0
    /usr/linux/lib/libssl.a
    /usr/linux/lib/libssl.so
    /usr/linux/lib/libssl.so.1.1.0
    /usr/linux/lib64/libcrypto.so
    /usr/linux/lib64/libcrypto.so.1.1.0
    /usr/linux/lib64/libssl.so
    /usr/linux/lib64/libssl.so.1.1.0
    ...

    root:e360_test:/:#

    I removed the package:

    root:e360_test:/:# rpm -e  openssl-1.1.0f-1withsslv2.ppc
    warning: file /var/ssl/misc/tsget: remove failed: A file or directory in the path name does not exist.
    warning: file /usr/linux/bin/c_rehash: remove failed: A file or directory in the path name does not exist.
    warning: file /opt/freeware/lib/libssl.a: remove failed: A file or directory in the path name does not exist.
    root:e360_test:/:#
    root:e360_test:/:# echo $LIBPATH
    /opt/freeware/lib:/usr/lib:/usr/lib64:/
    root:e360_test:/:#

    root:e360_test:/:# dnf --version
    4.2.17
      Installed: dnf-0:4.2.17-32_53.ppc at Sun Jul  6 23:36:50 AEST 2025
      Built    :  at Sun May  4 13:36:12 AEST 2025
    root:e360_test:/:# dnf check-update
    AIX generic repository                                                                          1.6 kB/s | 2.7 kB     00:01
    AIX noarch repository                                                                           2.3 kB/s | 2.6 kB     00:01
    AIX 7.2 specific repository                                                                     2.3 kB/s | 2.7 kB     00:01
    root:e360_test:/:# unset LIBPATH
    root:e360_test:/:# dnf --version
    4.2.17
      Installed: dnf-0:4.2.17-32_53.ppc at Sun Jul  6 23:36:50 AEST 2025
      Built    :  at Sun May  4 13:36:12 AEST 2025
    root:e360_test:/:#

    Appears to work without LIBPATH set at all.

    Thanks for your help, much appreciated.

    Cheers,

    Peter



    ------------------------------
    petermc 9BBD
    andersenIT
    Brisbane
    ------------------------------



  • 8.  RE: dnf refuses to run after dnf update worked

    Posted 10 days ago
    Edited by Aditya Kamath 10 days ago

    Hi,

    Glad it worked. 

    I see your GCC is old. 

    It is a good practice to keep at least GCC and Python updated to minimize issues.

    If you can update GCC to version 13 and Python to 3.9, it will be useful to leverage toolbox updates and make the Python 3.12 update, which will happen soon.

    Thanks.



    ------------------------------
    Aditya Kamath
    ------------------------------



  • 9.  RE: dnf refuses to run after dnf update worked

    Posted 9 days ago

    Hi Aditya,

    When I run "dnf check-update" it returns nothing, so I'm assuming from that it thinks everything is up to date?

    This is what it tells me is installed:

    root:e360_test:/:# dnf list --installed
    Installed Packages
    AIX-rpm.ppc                            7.2.5.208-27          @System
    a2ps.ppc                               4.13-4                @AIX_Toolbox
    bash.ppc                               5.2.21-1              @AIX_Toolbox
    bzip2.ppc                              1.0.8-2               @AIX_Toolbox
    ca-certificates.ppc                    2024.2.66-2           @AIX_Toolbox
    cairo.ppc                              1.18.0-1waixX11       @AIX_Toolbox
    check.ppc                              0.13.0-1              @AIX_Toolbox
    coreutils.ppc                          9.5-1                 @AIX_Toolbox
    cups.ppc                               2.2.3-4               @AIX_Toolbox
    cups-libs.ppc                          2.2.3-4               @AIX_Toolbox
    curl.ppc                               8.14.1-1              @AIX_Toolbox
    cyrus-sasl.ppc                         2.1.28-1              @AIX_Toolbox
    db.ppc                                 1:5.3.28-1            @AIX_Toolbox
    dbus.ppc                               1.14.8-1              @AIX_Toolbox
    dnf.ppc                                4.2.17-32_53          @AIX_Toolbox_72
    dnf-automatic.ppc                      4.2.17-32_53          @AIX_Toolbox_72
    dnf-data.ppc                           4.2.17-32_53          @AIX_Toolbox_72
    elm.ppc                                2.5.6-2               @System
    expat.ppc                              2.6.3-1               @AIX_Toolbox
    expect.ppc                             5.45.4-2              @AIX_Toolbox
    fontconfig.ppc                         2.14.2-1              @AIX_Toolbox
    freetype2.ppc                          2.13.3-1              @AIX_Toolbox
    gcc.ppc                                1:13-1                @AIX_Toolbox_72
    gcc-c++.ppc                            1:13-1                @AIX_Toolbox_72
    gcc-cpp.ppc                            1:13-1                @AIX_Toolbox_72
    gcc13.ppc                              13.3.0-1              @AIX_Toolbox_72
    gcc13-c++.ppc                          13.3.0-1              @AIX_Toolbox_72
    gcc13-cpp.ppc                          13.3.0-1              @AIX_Toolbox_72
    gdbm.ppc                               1.23-1                @AIX_Toolbox
    gettext.ppc                            0.21-2                @AIX_Toolbox
    glib2.ppc                              2.83.2-1              @AIX_Toolbox
    gmp.ppc                                6.3.0-1               @AIX_Toolbox
    gnupg2.ppc                             2.4.7-1               @AIX_Toolbox
    gnutls.ppc                             3.8.7-1               @AIX_Toolbox
    gpgme.ppc                              1.13.1-101            @AIX_Toolbox
    harfbuzz.ppc                           7.1.0-1               @AIX_Toolbox
    info.ppc                               7.2-1                 @AIX_Toolbox
    json-c.ppc                             0.17-1                @AIX_Toolbox
    krb5-libs.ppc                          1.21.3-3              @AIX_Toolbox
    libXft.ppc                             2.3.2-5waixX11        @AIX_Toolbox
    libXrender.ppc                         0.9.8-3waixX11        @AIX_Toolbox
    libassuan.ppc                          2.5.6-1               @AIX_Toolbox
    libcomps.ppc                           0.1.15-101            @AIX_Toolbox
    libdnf.ppc                             0.39.1-32_52          @AIX_Toolbox_72
    libffi.ppc                             3.4.4-2               @AIX_Toolbox
    libgcc.ppc                             1:13-1                @AIX_Toolbox_72
    libgcc13.ppc                           13.3.0-1              @AIX_Toolbox_72
    libgcrypt.ppc                          1.10.3-1              @AIX_Toolbox
    libgomp.ppc                            1:13-1                @AIX_Toolbox_72
    libgomp13.ppc                          13.3.0-1              @AIX_Toolbox_72
    libgpg-error.ppc                       1.49-1                @AIX_Toolbox
    libiconv.ppc                           1.17-1                @AIX_Toolbox
    libjpeg.ppc                            9f-1                  @AIX_Toolbox
    libjpeg-devel.ppc                      9f-1                  @AIX_Toolbox
    libksba.ppc                            1.6.3-1               @AIX_Toolbox
    libmodulemd.ppc                        1.5.2-100             @AIX_Toolbox
    libmpc.ppc                             1.3.1-1               @AIX_Toolbox
    libnghttp2.ppc                         1.62.1-1              @AIX_Toolbox
    libpng.ppc                             1.6.42-1              @AIX_Toolbox
    libpng-devel.ppc                       1.6.42-1              @AIX_Toolbox
    librepo.ppc                            1.11.0-103            @AIX_Toolbox
    libsmartcols.ppc                       2.34-101              @AIX_Toolbox
    libsmbclient.ppc                       4.21.2-1              @AIX_Toolbox
    libsolv.ppc                            0.7.9-32_53           @AIX_Toolbox_72
    libssh2.ppc                            1.11.0-1              @AIX_Toolbox
    libstdc++.ppc                          1:13-1                @AIX_Toolbox_72
    libstdc++-devel.ppc                    1:13-1                @AIX_Toolbox_72
    libstdc++13.ppc                        13.3.0-1              @AIX_Toolbox_72
    libstdc++13-devel.ppc                  13.3.0-1              @AIX_Toolbox_72
    libtasn1.ppc                           4.19.0-1              @AIX_Toolbox
    libtextstyle.ppc                       0.21-2                @AIX_Toolbox
    libunistring.ppc                       1.1-1                 @AIX_Toolbox
    libxml2.ppc                            2.12.9-1              @AIX_Toolbox
    libyaml.ppc                            0.2.5-1               @AIX_Toolbox
    libzstd.ppc                            1.5.2-3               @AIX_Toolbox
    lpar2rrd-agent.ppc                     7.90-1                @System
    lzo.ppc                                2.10-3                @AIX_Toolbox
    make.ppc                               1:4.4.1-1             @AIX_Toolbox
    metamail.ppc                           2.7-2                 @System
    mpfr.ppc                               4.2.1-1               @AIX_Toolbox
    mutt.ppc                               2.2.13-1              @AIX_Toolbox
    ncurses.ppc                            6.5-1                 @AIX_Toolbox
    nettle.ppc                             3.10.1-1              @AIX_Toolbox
    npth.ppc                               1.5-1                 @AIX_Toolbox
    openldap.ppc                           2.5.16-3              @AIX_Toolbox
    p11-kit.ppc                            0.25.5-2              @AIX_Toolbox
    p11-kit-tools.ppc                      0.25.5-2              @AIX_Toolbox
    pcre.ppc                               8.44-2                @AIX_Toolbox
    pcre2.ppc                              10.45-2               @AIX_Toolbox
    perl.ppc                               1:5.38.2-1            @AIX_Toolbox
    pinentry.ppc                           1.0.0-1               @AIX_Toolbox
    pixman.ppc                             0.42.2-1              @AIX_Toolbox
    pkg-config.ppc                         0.29.2-2              @AIX_Toolbox
    popt.ppc                               1.19-1                @AIX_Toolbox
    pysqlite.ppc                           2.8.3-2               @AIX_Toolbox
    python.ppc                             2.7.18-4              @AIX_Toolbox
    python-devel.ppc                       2.7.18-4              @AIX_Toolbox
    python-iniparse.noarch                 0.4-1                 @System
    python-pycurl.ppc                      7.43.0.5-1            @AIX_Toolbox
    python-tools.ppc                       2.7.18-4              @AIX_Toolbox
    python-urlgrabber.noarch               3.10.1-1              @System
    python3.ppc                            3.9.22-1              @AIX_Toolbox
    python3-dateutil.noarch                2.8.2-1               @AIX_Toolbox_noarch
    python3-dnf.ppc                        4.2.17-32_53          @AIX_Toolbox_72
    python3-dnf-plugin-migrate.ppc         4.0.16-32_52          @AIX_Toolbox_72
    python3-dnf-plugins-core.ppc           4.0.16-32_52          @AIX_Toolbox_72
    python3-gpg.ppc                        1.13.1-101            @AIX_Toolbox
    python3-hawkey.ppc                     0.39.1-32_52          @AIX_Toolbox_72
    python3-libcomps.ppc                   0.1.15-101            @AIX_Toolbox
    python3-libdnf.ppc                     0.39.1-32_52          @AIX_Toolbox_72
    python3-librepo.ppc                    1.11.0-103            @AIX_Toolbox
    python3-six.noarch                     1.13.0-2              @System
    python3.9.ppc                          3.9.22-1              @AIX_Toolbox
    python3.9-dateutil.noarch              2.8.2-1               @AIX_Toolbox_noarch
    python3.9-dnf.ppc                      4.2.17-32_53          @AIX_Toolbox_72
    python3.9-dnf-plugin-migrate.ppc       4.0.16-32_52          @AIX_Toolbox_72
    python3.9-dnf-plugins-core.ppc         4.0.16-32_52          @AIX_Toolbox_72
    python3.9-gpg.ppc                      1.13.1-101            @AIX_Toolbox
    python3.9-hawkey.ppc                   0.39.1-32_52          @AIX_Toolbox_72
    python3.9-libcomps.ppc                 0.1.15-101            @AIX_Toolbox
    python3.9-libdnf.ppc                   0.39.1-32_52          @AIX_Toolbox_72
    python3.9-librepo.ppc                  1.11.0-103            @AIX_Toolbox
    python3.9-six.noarch                   1.13.0-2              @System
    readline.ppc                           8.2-1                 @AIX_Toolbox
    rpm-python3.ppc                        4.15.1-32_2           @System
    rpm-python3.9.ppc                      4.15.1-32_2           @System
    samba.ppc                              4.21.2-1              @AIX_Toolbox
    samba-client.ppc                       4.21.2-1              @AIX_Toolbox
    samba-common.ppc                       4.21.2-1              @AIX_Toolbox
    samba-devel.ppc                        4.21.2-1              @AIX_Toolbox
    samba-libs.ppc                         4.21.2-1              @AIX_Toolbox
    samba-winbind.ppc                      4.21.2-1              @AIX_Toolbox
    samba-winbind-clients.ppc              4.21.2-1              @AIX_Toolbox
    sed.ppc                                4.9-1                 @AIX_Toolbox
    sqlite.ppc                             3.49.2-1              @AIX_Toolbox
    sudo.ppc                               1.9.16p2-1            @AIX_Toolbox
    tcl.ppc                                8.6.13-1              @AIX_Toolbox
    tk.ppc                                 8.6.13-1              @AIX_Toolbox
    unzip.ppc                              6.0-4                 @AIX_Toolbox
    wget.ppc                               1.25.0-1              @AIX_Toolbox
    xshield-monitoring-agent.ppc           25.1.7-1              @System
    xz-libs.ppc                            5.8.1-1               @AIX_Toolbox
    yum-metadata-parser.ppc                1.1.4-2               @System
    zchunk-libs.ppc                        1.1.4-103             @AIX_Toolbox
    zlib.ppc                               1.2.13-1              @AIX_Toolbox
    zlib-devel.ppc                         1.2.13-1              @AIX_Toolbox
    root:e360_test:/:#

    Can you verify if this is correct, or if there's some other reason why it's not recognising that the python and gcc need to be updated?

    Could it have something to do with the subject of my previous post (https://community.ibm.com/community/user/discussion/update-yum-to-dnf-fails-when-migrating-yum-db) where I had issues on this LPAR migrating from yum to dnf?

    If you'd prefer I can open another thread? Let me know.

    Cheers,

    Peter



    ------------------------------
    petermc 9BBD
    andersenIT
    Brisbane
    ------------------------------



  • 10.  RE: dnf refuses to run after dnf update worked

    Posted 9 days ago

    Hi,

    Yes, it is all up to date now and was referring to your previous post :)



    ------------------------------
    Aditya Kamath
    ------------------------------