AIX Open Source

 View Only
  • 1.  dnf broke after trying to upgrade

    Posted Tue May 21, 2024 02:54 PM

    My colleague and I were able to install dnf using the dnf_aixtoolbox.sh script and tried to upgrade dnf after it installed, but the upgrade broke dnf.  Here's the output that we get now when we run the dnf command.

    # dnf

    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/librepo.a(librepo.so.0).

            0509-150   Dependent module /opt/freeware/lib/libcurl.a(libcurl.so.4) could not be loaded.

            0509-103   The module has an invalid magic number.

    We're lost on how to fix this issue.  Any help would be appreciated.

    Jim Thompson



    ------------------------------
    Jim Thompson
    ------------------------------


  • 2.  RE: dnf broke after trying to upgrade

    Posted Wed May 22, 2024 05:00 AM

    Hi Jim,

    Please send the output of "rpm -qa".

    Looks like the curl rpm you have installed is not proper.



    ------------------------------
    SANGAMESH
    ------------------------------



  • 3.  RE: dnf broke after trying to upgrade

    Posted Wed May 22, 2024 10:13 AM

    Here's the rpm -qa output:

    # rpm -qa |sort

    AIX-rpm-7.3.1.3-30.ppc

    atk-1.12.3-2.ppc

    bash-4.2-3.ppc

    bzip2-1.0.8-2.ppc

    ca-certificates-2023.2.60-0.ppc

    cairo-1.8.8-1.ppc

    check-0.13.0-1.ppc

    curl-7.52.1-1.ppc

    cyrus-sasl-2.1.26-3.ppc

    db-4.8.24-3.ppc

    df1000f114108a03-203305-1.noarch

    df1000f114108a03-210313-1.noarch

    df1060e214101004-00010000020025201927-1.noarch

    df1060e214101004-00011000040041500016-1.noarch

    df1060e214101004-00011000040041500033-1.noarch

    dnf-4.2.17-64_6.noarch

    dnf-automatic-4.2.17-64_6.noarch

    dnf-data-4.2.17-64_6.noarch

    e414571614102004-10240310-1.noarch

    expat-2.6.2-1.ppc

    expect-5.42.1-3.ppc

    fontconfig-2.4.2-1.ppc

    freetype2-2.3.9-1.ppc

    gdbm-1.8.3-5.ppc

    gettext-0.20.2-1.ppc

    glib2-2.56.1-3.ppc

    gmp-6.3.0-1.ppc

    gnupg2-2.2.35-1.ppc

    gnutls-3.7.2-1.ppc

    gpgme-1.13.1-101.ppc

    gtk2-2.10.6-4.ppc

    info-6.6-2.ppc

    json-c-0.17-1.ppc

    libassuan-2.5.6-1.ppc

    libcomps-0.1.15-101.ppc

    libdnf-0.39.1-64_5.ppc

    libffi-3.4.4-2.ppc

    libgcc-8-1.ppc

    libgcc8-8.3.0-4.ppc

    libgcrypt-1.10.2-1.ppc

    libgomp-8-1.ppc

    libgomp8-8.3.0-4.ppc

    libgpg-error-1.45-1.ppc

    libiconv-1.16-1.ppc

    libjpeg-9b-2.ppc

    libksba-1.6.3-1.ppc

    libmodulemd-1.5.2-100.ppc

    libpng-1.2.32-2.ppc

    librepo-1.11.0-103.ppc

    libsmartcols-2.34-101.ppc

    libsolv-0.7.9-64_52.ppc

    libstdc++-8-1.ppc

    libstdc++8-8.3.0-4.ppc

    libtasn1-4.19.0-1.ppc

    libtextstyle-0.20.2-1.ppc

    libtiff-3.8.2-1.ppc

    libunistring-0.9.10-1.ppc

    libxml2-2.9.14-1.ppc

    libyaml-0.2.5-1.ppc

    libzstd-1.5.2-3.ppc

    ncurses-6.2-2.ppc

    nettle-3.9.1-1.ppc

    npth-1.5-1.ppc

    openldap-2.4.56-2.ppc

    p11-kit-0.23.22-0.ppc

    p11-kit-tools-0.23.22-0.ppc

    pango-1.14.5-4.ppc

    pci.1014034a.51-16519500-1.noarch

    pci.1014034a.51-19512300-1.noarch

    pci.1014034a.51-19512900-1.noarch

    pci.1014034a.51-19512c00-1.noarch

    pinentry-1.0.0-1.ppc

    pixman-0.12.0-3.ppc

    popt-1.16-1.ppc

    pysqlite-1.1.7-2.ppc

    python-2.7.10-1.ppc

    python-devel-2.7.10-1.ppc

    python-iniparse-0.4-1.noarch

    python-pycurl-7.19.3-1.ppc

    python-tools-2.7.10-1.ppc

    python-urlgrabber-3.10.1-1.noarch

    python3-3.9.16-0.ppc

    python3-dnf-4.2.17-64_6.noarch

    python3-gpg-1.13.1-64_3.ppc

    python3-hawkey-0.39.1-64_52.ppc

    python3-libcomps-0.1.15-101.ppc

    python3-libdnf-0.39.1-64_5.ppc

    python3-librepo-1.11.0-103.ppc

    python3.9-3.9.16-0.ppc

    python3.9-dnf-4.2.17-64_6.noarch

    python3.9-gpg-1.13.1-101.ppc

    python3.9-hawkey-0.39.1-64_52.ppc

    python3.9-libcomps-0.1.15-101.ppc

    python3.9-libdnf-0.39.1-64_5.ppc

    python3.9-librepo-1.11.0-103.ppc

    readline-8.2-1.ppc

    rpm-python3-4.15.1-64_4.ppc

    rpm-python3.9-4.15.1-64_4.ppc

    rsync-3.1.0-1.ppc

    sqlite-3.37.2-1.ppc

    sudo-1.9.5p2-1.ppc

    tcl-8.4.7-3.ppc

    tk-8.4.7-3.ppc

    xcursor-1.1.7-3.ppc

    xft-2.1.6-5.ppc

    xrender-0.9.1-3.ppc

    xz-libs-5.2.5-1.ppc

    yum-4.2.17-64_6.noarch

    yum-metadata-parser-1.1.4-2.ppc

    zchunk-libs-1.1.4-103.ppc

    zlib-1.2.13-1.ppc

    Thanks for helping out.



    ------------------------------
    Jim Thompson
    ------------------------------



  • 4.  RE: dnf broke after trying to upgrade

    Posted Fri May 24, 2024 10:24 AM

    Any updates on this?



    ------------------------------
    Jim Thompson
    ------------------------------



  • 5.  RE: dnf broke after trying to upgrade

    Posted Sat May 25, 2024 08:48 AM

    Hi Jim,

    Your packages are not in sync.

    Some of the packages from dnf bundle are update to latest version but some of them are at the same level.

    We suggest users to run dnf update once dnf is setup. Not sure how only few packages are updated in your case.

    Coming to the librepo issue.

    librepo from dnf bundle(librepo-1.11.0-64_2) doesn't have any external curl dependency.

    But the one which is updated to latest version (librepo-1.11.0-103) is having dependency on curl package.

    Since the version of curl present in your system is very old which doesn't have required library to run dnf.

    To resolve your current issue one of the method is to first have dnf packages from bundle are in sync, and then you can run dnf update.

    You can run below steps.

    1. rpm -e libcomps python3-libcomps python3.9-libcomps dnf dnf-automatic dnf-data python3-dnf python3.9-dnf \
       libdnf python3-libdnf python3.9-libdnf python3-hawkey python3.9-hawkey librepo python3-librepo python3.9-librepo
    2. run dnf_aixtoolbox.sh
    3. run "dnf update" (This should update to dnf and other packages to latest version including curl).


    ------------------------------
    SANGAMESH
    ------------------------------



  • 6.  RE: dnf broke after trying to upgrade

    Posted 30 days ago

    Your suggestion didn't completely fix the issue, but it got us to a point where we could figure out the rest of the issues and got it fixed. Thank you for the help.



    ------------------------------
    Jim Thompson
    ------------------------------