Fedora Account System
Red Hat Associate
Red Hat Customer
Description of problem: Whenever using DNF5 after updating It to the latest version, you get a builddep binary undefined symbol error thus make It impossible to install anything using DNF5. Version-Release number of selected component (if applicable): 5.4.3.0-2 How reproducible: 70% Reason: Doesn't reproduce on another user's system. Steps to Reproduce: 1. Update to the latest version of DNF5 2. Use Reinstall, Install, or any similar sub-command to reproduce the binary undefined symbol output. 3. Use `sudo dnf4 downgrade dnf5` to revert to the version of dnf5 in the original F44 release 4. Repeat step 2 - now the problem does not appear 5. Use `sudo dnf update dnf5` to update to version 5.4.3.0-2 of dnf5 6. Repeat step 2 - the problem reappears Actual results: When Installing, reinstalling, or any similar sub-command, you get this error: ``` ┌──(gitxpresso㉿fedora44)-[~] └─$ sudo dnf reinstall -y git Cannot load dnf5 plugin: /usr/lib64/dnf5/plugins/builddep_cmd_plugin.so Cannot load shared library "/usr/lib64/dnf5/plugins/builddep_cmd_plugin.so": /usr/lib64/dnf5/plugins/builddep_cmd_plugin.so: undefined symbol: _ZN4dnf523create_transient_optionERNS_7CommandE ``` Expected results: Successfully execute any command using DNF5 Additional info: To the fix to Issue as of right now, Is downgrading DNF5. Github Issue containing proof that this Is indeed a bug: ``` https://github.com/rpm-software-management/dnf5/issues/2885 ```
You should probably change the component to dnf5. https://discussion.fedoraproject.org/t/dnf5-important-binary-has-undefined-symbol/200000
I cannot reproduce it. The symbol is provided by /usr/bin/dnf5 executable: # nm -D /usr/lib64/dnf5/plugins/builddep_cmd_plugin.so | grep _ZN4dnf523create_transient_optionERNS_7CommandE U _ZN4dnf523create_transient_optionERNS_7CommandE # nm -D /usr/bin/dnf5 | grep _ZN4dnf523create_transient_optionERNS_7CommandE 000000000011e110 T _ZN4dnf523create_transient_optionERNS_7CommandE I guess you do not execute /usr/bin/dnf5 owned by dnf5-5.4.3.0-2.fc44.x86_64.
By the way, you can disable all DNF5 plugins by defining DNF5_PLUGINS_DIR environment variable to a directory with no plugins, like: # DNF5_PLUGINS_DIR=/dev/null dnf5 --version Attached command "builddep" not found: Command id "dnf5" does not contain subcommand with id "builddep": Requested in file "/usr/share/dnf5/aliases.d/compatibility-plugins.conf" on line 5: attached_command = 'builddep' Missing attribute "attached_command" for command "build-dep" in file "/usr/share/dnf5/aliases.d/compatibility-plugins.conf" Parent command "reposync" not found: Command id "dnf5" does not contain subcommand with id "reposync": Requested in file "/usr/share/dnf5/aliases.d/compatibility-reposync.conf" on line 3: ['reposync.downloadpath'] Parent command "reposync" not found: Command id "dnf5" does not contain subcommand with id "reposync": Requested in file "/usr/share/dnf5/aliases.d/compatibility-reposync.conf" on line 9: ['reposync.source'] dnf5 version 5.4.3.0 dnf5 plugin API version 2.0 libdnf5 version 5.4.3.0 libdnf5 plugin API version 2.2 That should unblock you for using DNF5 to perform most of the operations.