Open Source Development

 View Only

 dnf breaks after only update curl

NBG UnixSystemsSupport's profile image
NBG UnixSystemsSupport posted Tue January 13, 2026 08:46 AM

Hello,

on several AIX 7.3 TL3 SP1 LPARs, we noticed the following:

dnf update was working fine. there were several updates to be updated but we only chose to update the following 5 rpms:

#

================================================================================
 Package              Arch        Version             Repository           Size
================================================================================
Upgrading:
 curl                 ppc         8.18.0-1            AIX_Toolbox         2.1 M
 tmux                 ppc         3.6a-1              AIX_Toolbox         836 k
 vim-common           ppc         9.1.2063-1          AIX_Toolbox         7.0 M
 vim-enhanced         ppc         9.1.2063-1          AIX_Toolbox         6.7 M
 wget                 ppc         1.25.0-2            AIX_Toolbox         741 k

Transaction Summary
================================================================================
Upgrade  5 Packages

Total download size: 17 M
Downloading Packages:
(1/5): tmux-3.6a-1.aix7.1.ppc.rpm               7.2 MB/s | 836 kB     00:00    
(2/5): curl-8.18.0-1.aix7.1.ppc.rpm              14 MB/s | 2.1 MB     00:00    
(3/5): wget-1.25.0-2.aix7.1.ppc.rpm             7.9 MB/s | 741 kB     00:00    
(4/5): vim-enhanced-9.1.2063-1.aix7.1.ppc.rpm    23 MB/s | 6.7 MB     00:00    
(5/5): vim-common-9.1.2063-1.aix7.1.ppc.rpm      15 MB/s | 7.0 MB     00:00    
--------------------------------------------------------------------------------
Total                                            38 MB/s |  17 MB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Upgrading        : vim-common-9.1.2063-1.ppc                             1/10 
  Upgrading        : vim-enhanced-9.1.2063-1.ppc                           2/10 
  Upgrading        : wget-1.25.0-2.ppc                                     3/10 
  Running scriptlet: wget-1.25.0-2.ppc                                     3/10 
From wget-1.21.1 onwards, symbolic link of wget in /usr/bin is removed.
The binary is shipped in /opt/freeware/bin. Please use absolute path or 
add /opt/freeware/bin in PATH environment variable to use the binary.

  Upgrading        : tmux-3.6a-1.ppc                                       4/10 
  Upgrading        : curl-8.18.0-1.ppc                                     5/10 
  Cleanup          : vim-enhanced-9.1.1355-2.ppc                           6/10 
  Cleanup          : vim-common-9.1.1355-2.ppc                             7/10 
  Running scriptlet: wget-1.25.0-1.ppc                                     8/10 
  Cleanup          : wget-1.25.0-1.ppc                                     8/10 
  Cleanup          : tmux-3.3a-1.ppc                                       9/10 
  Cleanup          : curl-8.14.1-1.ppc                                    10/10 

Upgraded:
  curl-8.18.0-1.ppc             tmux-3.6a-1.ppc     vim-common-9.1.2063-1.ppc  
  vim-enhanced-9.1.2063-1.ppc   wget-1.25.0-2.ppc  #

Then dnf stopped working:

#

root@itmtest /general/downgrade_after_prov # /opt/freeware/bin/dnf update
Traceback (most recent call last):
  File "/opt/freeware/bin/dnf", line 58, in <module>
    from dnf.cli import main
  File "/opt/freeware/lib/python3.12/site-packages/dnf/__init__.py", line 30, in <module>
    import dnf.base
  File "/opt/freeware/lib/python3.12/site-packages/dnf/base.py", line 29, in <module>
    import libdnf.transaction
  File "/opt/freeware/lib64/python3.12/site-packages/libdnf/__init__.py", line 8, in <module>
    from . import error
  File "/opt/freeware/lib64/python3.12/site-packages/libdnf/error.py", line 10, in <module>
    from . import _error
ImportError:    0509-130 Symbol resolution failed for /opt/freeware/lib64/libcurl.a[libcurl.so.4] because:
        0509-136   Symbol libssh2_session_callback_set2 (number 117) is not exported from
                   dependent module /opt/freeware/lib64/libssh2.a[libssh2.so.1].
        0509-022 Cannot load module /opt/freeware/lib64/python3.12/site-packages/libdnf/_error.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.

#

i rolled back wget and tmux to previous versions but didnt help. 

After also downgrading curl rpm,  dnf funcionality was working again, see below:

#

root@itmtest /general/downgrade_after_prov # rpm -Uvh --oldpackage curl-8.14.1-1.aix7.1.ppc.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:curl-8.14.1-1                    ################################# [ 50%]
Cleaning up / removing...
   2:curl-8.18.0-1                    ################################# [100%]
root@itmtest /general/downgrade_after_prov # /opt/freeware/bin/dnf update
Last metadata expiration check: 23:02:51 ago on Mon Jan 12 16:02:36 EET 2026.
Dependencies resolved.
============================================================================================================================================================================================================================================
 Package                                                       Architecture                                    Version                                                     Repository                                                  Size
============================================================================================================================================================================================================================================
Upgrading:
 atk                                                           ppc                                             2.20.0-4                                                    AIX_Toolbox                                                409 k
 bash                                                          ppc                                             5.3-1                                                       AIX_Toolbox                                                3.1 M
 ca-certificates                                               ppc                                             2024.2.66-2                                                 AIX_Toolbox                                                1.0 M
 check                                                         ppc                                             0.15.2-1                                                    AIX_Toolbox                                                 95 k
 curl                                                          ppc                                             8.18.0-1                                                    AIX_Toolbox                                                2.1 M
 expat                                                         ppc                                             2.7.3-1                                                     AIX_Toolbox                                                877 k
 freetype2                                                     ppc                                             2.13.3-1                                                    AIX_Toolbox                                                2.0 M
 glib2                                                         ppc                                             2.86.0-1                                                    AIX_Toolbox                                                 16 M
 gnupg2                                                        ppc                                             2.4.8-1                                                     AIX_Toolbox                                                 11 M
 jbigkit-libs                                                  ppc                                             2.1-2                                                       AIX_Toolbox                                                125 k
 json-c                                                        ppc                                             0.18-1                                                      AIX_Toolbox                                                382 k
 krb5-libs                                                     ppc                                             1.21.3-3                                                    AIX_Toolbox                                                7.5 M
 libXcursor                                                    ppc                                             1.1.14-3                                                    AIX_Toolbox                                                 72 k
 libXcursor-devel                                              ppc                                             1.1.14-3                                                    AIX_Toolbox                                                 16 k
 libXft                                                        ppc                                             2.3.2-5waixX11                                              AIX_Toolbox                                                723 k
 libdnf                                                        ppc                                             0.74.0-64_52                                                AIX_Toolbox_73                                             2.7 M
 libevent                                                      ppc                                             2.1.12-2                                                    AIX_Toolbox                                                474 k
 libssh2                                                       ppc                                             1.11.1-1                                                    AIX_Toolbox                                                1.0 M
 libtiff                                                       ppc                                             4.7.1-1                                                     AIX_Toolbox                                                5.5 M
 libxml2                                                       ppc                                             2.14.6-1                                                    AIX_Toolbox                                                6.0 M
 nettle                                                        ppc                                             3.10.1-1                                                    AIX_Toolbox                                                3.1 M
 p11-kit                                                       ppc                                             0.25.10-1                                                   AIX_Toolbox                                                4.7 M
 p11-kit-tools                                                 ppc                                             0.25.10-1                                                   AIX_Toolbox                                                353 k
 python3-gpg                                                   ppc                                             1.24.3-100                                                  AIX_Toolbox                                                7.3 k
 python3-hawkey                                                ppc                                             0.74.0-64_52                                                AIX_Toolbox_73                                              23 k
 python3-libdnf                                                ppc                                             0.74.0-64_52                                                AIX_Toolbox_73                                              23 k
 python3.12-hawkey                                             ppc                                             0.74.0-64_52                                                AIX_Toolbox_73                                             499 k
 python3.12-libdnf                                             ppc                                             0.74.0-64_52                                                AIX_Toolbox_73                                             2.5 M
 python3.9                                                     ppc                                             3.9.25-1                                                    AIX_Toolbox                                                 41 M
 rsync                                                         ppc                                             3.4.1-2                                                     AIX_Toolbox                                                884 k
 shared-mime-info                                              ppc                                             1.6-3                                                       AIX_Toolbox                                                1.0 M
 sqlite                                                        ppc                                             3.50.4-1                                                    AIX_Toolbox                                                9.9 M
 tmux                                                          ppc                                             3.6a-1                                                      AIX_Toolbox                                                836 k
 unzip                                                         ppc                                             6.0-4                                                       AIX_Toolbox                                                358 k
 wget                                                          ppc                                             1.25.0-2                                                    AIX_Toolbox                                                741 k
 zchunk-libs                                                   ppc                                             1.5.2-101                                                   AIX_Toolbox                                                306 k
 zlib                                                          ppc                                             1.3.1-1                                                     AIX_Toolbox                                                346 k
 zstd                                                          ppc                                             1.5.7-100                                                   AIX_Toolbox                                                545 k

Transaction Summary
============================================================================================================================================================================================================================================
Upgrade  38 Packages

Total size: 128 M
Total download size: 125 M
Is this ok [y/N]: n

#

After that i dnf updated all packages, so curl was reverted to latest version as well as the others and dnf is working again no problem and all are updated.

i would expect though that on first update of curl all the required dependencies would be sorted out by dnf itself and dnf wouldnt break, so any idea what happened?

Let me know if you need more output.

Ayappan P's profile image
Ayappan P

Thanks for reporting this issue. The recent libssh2 package is built against openssl 3 and thus it enabled some new functions/symbols. The latest curl is built on top this libssh2 and hence it used the new functions/symbols. But the curl dependency is not updated. It is still 1.11.0-1 ( but it should be 1.11.1-1). We will update curl with the correct libssh2 dependency. 

NBG UnixSystemsSupport's profile image
NBG UnixSystemsSupport

But i would expect that running dnf update curl would also update its dependency libssh2 to version 1.11.1-1  as you said. it didnt do that.

isnt that the expected behaviour by dnf as it always updates the required dependencies of packages we install?

Ayappan P's profile image
Ayappan P

Curl dependency is not updated with the proper libssh2 version. 
# rpm -qR curl-8.18.0-1  | grep libssh2
libssh2 >= 1.11.0
libssh2.a(libssh2.so.1)

It should have been libssh2 >= 1.11.1

NBG UnixSystemsSupport's profile image
NBG UnixSystemsSupport

yes ok, any idea when next curl would be available?

thanks.