Bug 1955970 - Problem: lua-libs-5.4.2-2.fc34.i686 has inferior architecture
Summary: Problem: lua-libs-5.4.2-2.fc34.i686 has inferior architecture
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf-plugins-core
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Mracek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-01 20:07 UTC by Chris Murphy
Modified: 2021-05-04 15:25 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-04 15:25:57 UTC
Type: Bug


Attachments (Terms of Use)

Description Chris Murphy 2021-05-01 20:07:11 UTC
Description of problem:

Can't do a dnf update. I've done successful 'dnf distrosync' and 'dnf autoremove' and 'dnf clean all' but 'dnf update' fails with this error every time, not sure why.

I do not have lua-libs-5.4.2-2.fc34.i686 installed so I don't know why dnf says it's a problem.


Version-Release number of selected component (if applicable):
$ rpm -qa | grep lua
lua-libs-5.4.2-2.fc34.x86_64
lua-5.4.2-2.fc34.x86_64
lua-posix-35.0-3.fc34.x86_64
mod_lua-2.4.46-10.fc34.x86_64
lua-srpm-macros-1-4.fc34.noarch


How reproducible:
Always


Steps to Reproduce:
1. dnf update
2.
3.

Actual results:

$ sudo dnf update
Last metadata expiration check: 0:01:54 ago on Sat 01 May 2021 02:00:08 PM MDT.
Dependencies resolved.

 Problem: lua-libs-5.4.2-2.fc34.i686 has inferior architecture
  - package lua-5.4.2-2.fc34.x86_64 requires lua-libs = 5.4.2-2.fc34, but none of the providers can be installed
  - cannot install both lua-libs-5.4.3-1.fc34.x86_64 and lua-libs-5.4.2-2.fc34.x86_64
  - cannot install both lua-libs-5.4.2-2.fc34.x86_64 and lua-libs-5.4.3-1.fc34.x86_64
  - cannot install the best update candidate for package lua-libs-5.4.2-2.fc34.x86_64
  - cannot install the best update candidate for package lua-5.4.2-2.fc34.x86_64
=============================================================================================================================================================================
 Package                                 Architecture                          Version                                       Repository                                 Size
=============================================================================================================================================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 lua-libs                                x86_64                                5.4.3-1.fc34                                  _dnf_local                                218 k

Transaction Summary
=============================================================================================================================================================================
Skip  1 Package

Nothing to do.
Complete!
$ sudo dnf update --best --allowerasing
Last metadata expiration check: 0:02:03 ago on Sat 01 May 2021 02:00:08 PM MDT.
Error: 
 Problem: cannot install the best update candidate for package lua-5.4.2-2.fc34.x86_64
  - problem with installed package lua-5.4.2-2.fc34.x86_64
  - package lua-5.4.2-2.fc34.x86_64 requires liblua-5.4.so()(64bit), but none of the providers can be installed
  - cannot install the best update candidate for package lua-libs-5.4.2-2.fc34.x86_64
  - lua-libs-5.4.2-2.fc34.i686 has inferior architecture
  - package lua-5.4.2-2.fc34.x86_64 requires lua-libs = 5.4.2-2.fc34, but none of the providers can be installed
  - cannot install both lua-libs-5.4.3-1.fc34.x86_64 and lua-libs-5.4.2-2.fc34.x86_64
  - cannot install both lua-libs-5.4.2-2.fc34.x86_64 and lua-libs-5.4.3-1.fc34.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
$ 


Expected results:

Updates should be possible without error.


Additional info:

Comment 1 Chris Murphy 2021-05-01 20:14:01 UTC
debugdata.tar from using dnf --debugsolver, 63M
https://drive.google.com/file/d/1d-IzJC6VGt3JG2DHVS4tJiQQuCGy4I8P/view?usp=sharing

Comment 2 Chris Murphy 2021-05-01 20:16:02 UTC
This could be a dnf local plugin bug?

Comment 3 Chris Murphy 2021-05-01 20:21:06 UTC
If I disable the dnf local plugin:

]$ sudo dnf update
Last metadata expiration check: 0:19:51 ago on Sat 01 May 2021 02:00:08 PM MDT.
Dependencies resolved.
Nothing to do.
Complete!


Switching to dnf.

Comment 4 Chris Murphy 2021-05-01 20:24:09 UTC
Reenable the local plugin, and enable u-t.

 sudo dnf update --enablerepo=updates-testing
Fedora 34 - x86_64 - Test Updates                                                                                                            2.9 MB/s | 8.1 MB     00:02    
Last metadata expiration check: 0:00:06 ago on Sat 01 May 2021 02:22:13 PM MDT.
Dependencies resolved.
=============================================================================================================================================================================
 Package                                      Architecture                       Version                                   Repository                                   Size
=============================================================================================================================================================================
Upgrading:
 copy-jdk-configs                             noarch                             4.0-0.fc34                                updates-testing                              27 k
 lua                                          x86_64                             5.4.3-1.fc34                              updates-testing                             189 k
 lua-libs                                     x86_64                             5.4.3-1.fc34                              _dnf_local                                  218 k

Transaction Summary
=============================================================================================================================================================================
Upgrade  3 Packages

Total download size: 434 k


So I guess somehow (?) the dnf_local repo has a newer lua-libs. So it was trying to use that even though u-t wasn't enabled.

Comment 5 Chris Murphy 2021-05-01 20:31:28 UTC
Nope. lua and lua-libs are both present in the _dnf_local repo directory, but dnf update refuses to use the lua there.

$ find repodir/ -name lua*
repodir/lua-libs-5.4.3-1.fc34.x86_64.rpm
repodir/lua-libs-5.4.2-2.fc34.x86_64.rpm
repodir/lua-5.4.3-1.fc34.x86_64.rpm

$ sudo dnf reinstall lua lua-libs
Last metadata expiration check: 0:29:50 ago on Sat 01 May 2021 02:00:08 PM MDT.
Installed package lua-5.4.3-1.fc34.x86_64 (from updates-testing) not available.
Dependencies resolved.
=============================================================================================================================================================================
 Package                                 Architecture                          Version                                       Repository                                 Size
=============================================================================================================================================================================
Reinstalling:
 lua-libs                                x86_64                                5.4.3-1.fc34                                  _dnf_local                                218 k

Transaction Summary
=============================================================================================================================================================================

Total size: 218 k
Installed size: 544 k
Is this ok [y/N]: n
Operation aborted.
$ sudo dnf reinstall lua lua-libs --enablerepo=updates-testing
Last metadata expiration check: 0:08:00 ago on Sat 01 May 2021 02:22:13 PM MDT.
Dependencies resolved.
=============================================================================================================================================================================
 Package                                Architecture                         Version                                     Repository                                     Size
=============================================================================================================================================================================
Reinstalling:
 lua                                    x86_64                               5.4.3-1.fc34                                updates-testing                               189 k
 lua-libs                               x86_64                               5.4.3-1.fc34                                updates-testing                               218 k

Transaction Summary
=============================================================================================================================================================================

Total download size: 407 k
Installed size: 1.1 M
Is this ok [y/N]: n
Operation aborted.
$ 



But it's a bit strange still that the original error had someting to do with inferior architecture.

Comment 6 Stephen John Smoogen 2021-05-02 13:58:46 UTC
The inferior architecture is dnf trying to find anything that could fix the problem you have and letting you know the one package it did find which would replace it is of the wrong architecture. 

The real issue (and probably what the title for this bug should be) is that the _dnf_local (whatever plugin or tool causes that *1*) is not seeing repodir/lua-5.4.3-1.fc34.x86_64.rpm for some reason. I would check to see if it has the right labels, permissions or is actually a good RPM file. Then I would add debugging to the dnf command to see if it gives any clues why it isn't adding that to the repository mix. 

*1* I am unfamiliar with that name showing up in a dnf command so not sure how that happens.

Comment 7 Jaroslav Mracek 2021-05-04 15:25:57 UTC
Thank you very much for the report. The issue is related to dnf-plugin-local that keeps cached packages. In case that the cached rpms creates a difficulty for upgrade, because cached rpm has the highest version but there is not a package with the same version for secondary architecture. The issue can be resolved by uninstalling of dnf-plugin-local, disable of repository _dnf_local, disable of dnf-plugin-local plugin in configuration (in `/etc/dnf/plugins/local.conf` in section [main] add line `enabled = false`) or commandline (--disableplugin). I know that the behaviour is not nice but there is no way how to improve it in the plugin. The plugin cannot store all packages just for an possible requirement in the future. It only stores packages installed on the system.


Note You need to log in before you can comment on or make changes to this bug.