Description of problem: libvirt uses dnsmasq by default and I noticed failures when starting dnsmasq. There was a missing symbol from libnettle which is added in newer version of nettle. It would be good if you could add explicit requires to minimal version of nettle. sh# journalctl -u libvirtd -- Logs begin at Thu 2018-03-15 04:11:50 EDT, end at Thu 2018-03-15 08:12:36 EDT. -- Mar 15 04:17:05 host.example.com systemd[1]: Starting Virtualization daemon... Mar 15 04:17:05 host.example.com systemd[1]: Started Virtualization daemon. Mar 15 04:17:05 host.example.com libvirtd[7759]: 2018-03-15 08:17:05.770+0000: 7776: info : libvirt version: 3.7.0, package: 4.fc27 (Fedora Project, 2018-02-13-19:29:35, buildvm-27.phx2.fedoraproject.org) Mar 15 04:17:05 host.example.com libvirtd[7759]: 2018-03-15 08:17:05.770+0000: 7776: info : hostname: host.example.com Mar 15 04:17:05 host.example.com libvirtd[7759]: 2018-03-15 08:17:05.770+0000: 7776: error : virCommandWait:2583 : internal error: Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin /usr/sbin/dnsmasq --version) unexpected exit status 127: /usr/sbin/dnsmasq: relocation error: /usr/sbin/dnsmasq: symbol nettle_get_hashes, version NETTLE_6 not defined in file libnettle.so.6 with link time reference Mar 15 04:17:05 host.example.com libvirtd[7759]: 2018-03-15 08:17:05.770+0000: 7776: error : dnsmasqCapsRefreshInternal:764 : failed to run '/usr/sbin/dnsmasq --version': : Success Version-Release number of selected component (if applicable): sh$ rpm -q nettle dnsmasq nettle-3.3-5.fc27.x86_64 dnsmasq-2.78-6.fc27.x86_64 How reproducible: Deterministic Steps to Reproduce: 1. dnf install -y dnsmasq binutils 2. nm --dynamic --undefined-only /usr/sbin/dnsmasq | grep nettle_get_hashes 3. nm --dynamic --defined-only /usr/lib64/libnettle.so.6 | grep nettle_get_hashes 4. echo $? Actual results: sh-4.4# nm --dynamic --undefined-only /usr/sbin/dnsmasq | grep nettle_get_hashes U nettle_get_hashes sh-4.4# nm --dynamic --defined-only /usr/lib64/libnettle.so.6 | grep nettle_get_hashes sh-4.4# echo $? 1 Expected results: sh-4.4# nm --dynamic --undefined-only /usr/sbin/dnsmasq | grep nettle_get_hashes U nettle_get_hashes sh-4.4# nm --dynamic --defined-only /usr/lib64/libnettle.so.6 | grep nettle_get_hashes 0000000000018460 T nettle_get_hashes Additional info: It works well with nettle from updates-testing sh-4.4# dnf update -e0 -d0 -y --enablerepo=updates-testing nettle install-info: No such file or directory for /usr/share/info/nettle.info sh-4.4# rpm -q nettle dnsmasq nettle-3.4-1.fc27.x86_64 dnsmasq-2.78-6.fc27.x86_64 sh-4.4# nm --dynamic --undefined-only /usr/sbin/dnsmasq | grep nettle_get_hashes U nettle_get_hashes sh-4.4# nm --dynamic --defined-only /usr/lib64/libnettle.so.6 | grep nettle_get_hashes 0000000000018460 T nettle_get_hashes
Note: It is not required to enable updates-testing for installing nettle-3.4-1.fc27.x86_64. It is already in updates for quite a log. The issue is that Vm needn't be updated and installing dnsmasq will not update nettle due to missing requirement on new version.
I think main problem here is that nettle changes its API, but did not change its soversion. This recompilation should be with different soversion, making automatic dependencies handle this problem. Dnsmasq does not have explicit dependency on nettle, I had no place to add version. I filled bug #1549190 for it. But since it is already broken, I will add version dependency on it. I did not realize selective updates can be broken by it.
I think this is exactly the same issue as bug #1548060, closing it as duplicate. *** This bug has been marked as a duplicate of bug 1548060 ***