Recommended strategy for 'dependency hell'

AL 9.x system. Runs great, but this morning I ran into an issue I don’t normally encounter on my Alma machines - ‘dependency hell’.

Looked at the available updates - saw 10-12 were available. Here are sokme of them (just for reference…) – all in the ‘baseos’ repo.

    libblkid.i686                                             2.37.4-21.el9_7                                    baseos
    libblkid.x86_64                                           2.37.4-21.el9_7                                    baseos
    libbrotli.i686                                            1.0.9-9.el9_7                                      baseos
    libbrotli.x86_64                                          1.0.9-9.el9_7                                      baseos
    libfdisk.x86_64                                           2.37.4-21.el9_7                                    baseos
    libmount.i686                                             2.37.4-21.el9_7                                    baseos
    libmount.x86_64                                           2.37.4-21.el9_7                                    baseos
    libsmartcols.x86_64                                       2.37.4-21.el9_7                                    baseos

But, when I try to update them, get all sorts of errors like the following (truncation of full list - basically, the following is repeated for each package):

Problem: package libblkid-devel-2.37.4-21.el9.x86_64 from @System requires libblkid = 2.37.4-21.el9, but none of the providers can be installed

  • cannot install both libblkid-2.37.4-21.el9_7.i686 from baseos and libblkid-2.37.4-21.el9.i686 from @System
  • cannot install both libblkid-2.37.4-21.el9_7.i686 from baseos and libblkid-2.37.4-21.el9.i686 from baseos
  • cannot install both libblkid-2.37.4-21.el9_7.x86_64 from baseos and libblkid-2.37.4-21.el9.x86_64 from @System
  • cannot install both libblkid-2.37.4-21.el9_7.x86_64 from baseos and libblkid-2.37.4-21.el9.x86_64 from baseos
  • cannot install the best update candidate for package libblkid-devel-2.37.4-21.el9.x86_64
  • cannot install the best update candidate for package libblkid-2.37.4-21.el9.i686
  • cannot install the best update candidate for package libblkid-2.37.4-21.el9.x86_64
    (try to add ‘–allowerasing’ to command line to replace conflicting packages or ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)

Tried the usual steps of clean out and remaking the dnf cache, but no luck.

So, in general, for an AL machine (and presumably some of my newer machines running AL 10.1), what is the preferred approach to resolving this sort of thing? I’m puzzled that the ‘struggle’ is between two repos I would have thought would be synced from the get-go: baseos and @system?

Thanks in advance.

Lets see what I see:

# dnf list libblkid\*
Last metadata expiration check: 0:00:39 ago on Thu 05 Feb 2026 04:30:21 PM EET.
Installed Packages
libblkid.x86_64                     2.37.4-21.el9                 @baseos   
libblkid-devel.x86_64               2.37.4-21.el9                 @appstream
Available Packages
libblkid.i686                       2.37.4-21.el9_7               baseos        
libblkid.x86_64                     2.37.4-21.el9_7               baseos        
libblkid-devel.i686                 2.37.4-21.el9_7               appstream     
libblkid-devel.x86_64               2.37.4-21.el9_7               appstream     

and how the ‘up’ behaves:

# dnf --enablerepo=baseos,appstream up libblk\*
Last metadata expiration check: 0:01:16 ago on Thu 05 Feb 2026 04:33:36 PM EET.
Dependencies resolved.
==============================================================================================================================================================================
 Package                                      Architecture                        Version                                        Repository                              Size
==============================================================================================================================================================================
Upgrading:
 libblkid                                     x86_64                              2.37.4-21.el9_7                                baseos                                 105 k
 libblkid-devel                               x86_64                              2.37.4-21.el9_7                                appstream                               14 k
 libfdisk                                     x86_64                              2.37.4-21.el9_7                                baseos                                 151 k
 libmount                                     x86_64                              2.37.4-21.el9_7                                baseos                                 132 k
 libmount-devel                               x86_64                              2.37.4-21.el9_7                                appstream                               16 k
 libsmartcols                                 x86_64                              2.37.4-21.el9_7                                baseos                                  60 k
 libuuid                                      x86_64                              2.37.4-21.el9_7                                baseos                                  25 k
 libuuid-devel                                x86_64                              2.37.4-21.el9_7                                appstream                               22 k
 util-linux                                   x86_64                              2.37.4-21.el9_7                                baseos                                 2.2 M
 util-linux-core                              x86_64                              2.37.4-21.el9_7                                baseos                                 431 k
 util-linux-user                              x86_64                              2.37.4-21.el9_7                                baseos                                  28 k
...
Upgraded:
  libblkid-2.37.4-21.el9_7.x86_64            libblkid-devel-2.37.4-21.el9_7.x86_64       libfdisk-2.37.4-21.el9_7.x86_64             libmount-2.37.4-21.el9_7.x86_64          
  libmount-devel-2.37.4-21.el9_7.x86_64      libsmartcols-2.37.4-21.el9_7.x86_64         libuuid-2.37.4-21.el9_7.x86_64              libuuid-devel-2.37.4-21.el9_7.x86_64     
  util-linux-2.37.4-21.el9_7.x86_64          util-linux-core-2.37.4-21.el9_7.x86_64      util-linux-user-2.37.4-21.el9_7.x86_64     

Complete!

Two notes:

  • the *-devel packages do come from appstream repo
  • I have only the x86_64 versions installed, as is the default – no 32-bit binaries

Logically, one should either update libblkid and libblkid-devel simultaneously,
or remove the libblkid-devel, update libblkid, and reinstall libblkid-devel later.


The @System – first the @ indicates that the package is installed.
The repo name “System” might be how initial install recorded origin of package.

1 Like

Many thanks. Not sure why the various 32-bit libs were installed in the first place, but…your suggestion (removing -devel, updating, then re-installing -devel) worked.