libfmt dependency may result in incorrect dep installation
Closed this issue · 2 comments
This morning in the ansible-core CI, we ran into the following issue:
$ /usr/bin/python3 -c 'import libdnf5'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib64/python3.12/site-packages/libdnf5/__init__.py", line 1, in <module>
from . import advisory
File "/usr/lib64/python3.12/site-packages/libdnf5/advisory.py", line 10, in <module>
from . import _advisory
ImportError: libfmt.so.10: cannot open shared object file: No such file or directory
$ dnf5
dnf5: error while loading shared libraries: libfmt.so.10: cannot open shared object file: No such file or directory
For some reason, within our test container, we have a set of unknown packages installed that forces the dnf4 dep solver to install condor
instead of fmt
to provide libfmt.so.10
:
$ dnf repoquery --deplist python3-libdnf5
...
dependency: libfmt.so.10()(64bit)
provider: fmt-10.0.0-3.fc39.x86_64
provider: condor-23.9.6-1.fc39.x86_64
...
Unfortunately the libfmt.so.10
from condor
exists in a different path, and doesn't meet the requirements of libdnf5
:
$ dnf whatprovides */libfmt.so.10
condor-23.9.6-1.fc39.x86_64 : HTCondor: High Throughput Computing
Repo : updates
Matched from:
Filename : /usr/lib64/condor/libfmt.so.10
fmt-10.0.0-3.fc39.x86_64 : Small, safe and fast formatting library for C++
Repo : fedora
Matched from:
Filename : /usr/lib64/libfmt.so.10
I'm not sure what set of packages causes the dnf4
dep solver to want to install condor over fmt
, but it is something related to one or more packages installed as part of https://github.com/ansible/distro-test-containers/blob/4f7feaeeb123594b7e726239c0b496d3568a3f91/fedora39-test-container/Dockerfile
Adding -x condor
to the install command results in the correct set of deps being installed, and dnf5 being functional.
This is bug in condor package https://bugzilla.redhat.com/show_bug.cgi?id=2315859.
Thank you for the additional research and insight!