Bug 1696822
| Summary: | Installed multiarch libraries results in incorrect package selection | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Community] Virtualization Tools | Reporter: | bob | ||||||||||||
| Component: | supermin | Assignee: | Richard W.M. Jones <rjones> | ||||||||||||
| Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||
| Severity: | unspecified | Docs Contact: | |||||||||||||
| Priority: | unspecified | ||||||||||||||
| Version: | unspecified | CC: | bob, ptoscano, rjones | ||||||||||||
| Target Milestone: | --- | ||||||||||||||
| Target Release: | --- | ||||||||||||||
| Hardware: | Unspecified | ||||||||||||||
| OS: | Unspecified | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||||||
| Doc Text: | Story Points: | --- | |||||||||||||
| Clone Of: | Environment: | ||||||||||||||
| Last Closed: | 2019-04-15 09:44:16 UTC | Type: | Bug | ||||||||||||
| Regression: | --- | Mount Type: | --- | ||||||||||||
| Documentation: | --- | CRM: | |||||||||||||
| Verified Versions: | Category: | --- | |||||||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||
| Embargoed: | |||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
bob
2019-04-05 17:08:19 UTC
Sorry for the delayed reply. I cannot reproduce this, but there are a couple of commands you could run which will collect more information for us: libguestfs-test-tool supermin --build -v -v -v --copy-kernel -f ext2 --host-cpu x86_64 /usr/lib64/guestfs/supermin.d -o /var/tmp/test Please attach the *complete* output from both to the BZ. Created attachment 1554288 [details]
libguestfs-test-tool
Created attachment 1554289 [details]
supermin
It's certainly picking the wrong package, although I'm not very clear why. The logic in the RPM code here is convoluted. https://github.com/libguestfs/supermin/tree/master/src It looks like libgcc is installed both as i686 and x86_64, and that supermin picks the i686 version to resolve the dependencies. Most probably it ought to use only either packages of the same architecture, or noarch packages. I'll take a look at it. I cannot reproduce the issue, even with a similar environment (native libguestfs x86_64, and i686 multilib packages for libgcc & glibc). A possible idea is that your libgcc.x86_64 is older than the libgcc.x86_64 version. Can you please attach the output of `rpm -qa | sort`? Sorry for being a pain in the neck, but I feel somewhat uncomfortable attaching that information. However, I have been able to reproduce the issue in a fresh VM, so I'll attach new debug logs and the package listing from there. Installed supermin is the same: supermin-5.1.20-2.fc29.x86_64 Created attachment 1554590 [details]
libguestfs-test-tool
Created attachment 1554592 [details]
supermin
Created attachment 1554593 [details]
rpm -qa
FWIW, the problem is resolved by upgrading the libgcc.x86_64 package (In reply to bob from comment #10) > Created attachment 1554593 [details] > rpm -qa libgcc-8.2.1-2.fc29.x86_64 libgcc-8.3.1-2.fc29.i686 As I suspected: your libgcc.x86_64 was older than the libgcc.x86_64 version. I will change supermin to always prefer the higher version of the same architecture, rather than the higher version of all the installed architectures. Indeed, the way RPM packages are sorted was buggy. This patch series should hopefully fix this issue: https://www.redhat.com/archives/libguestfs/2019-April/msg00094.html Thanks for the report. Fixed upstream with https://github.com/libguestfs/supermin/commit/941f72d05302d265af763c7f8ed6b999e4f85eeb https://github.com/libguestfs/supermin/commit/de075776722741a67b0956f36a6357fcedd66ae0 https://github.com/libguestfs/supermin/commit/e57e988c39aca015100fb92377dbd8d114c0bece https://github.com/libguestfs/supermin/commit/72735dd11c83eb59d90e04b3c1e580af43b1ba0a https://github.com/libguestfs/supermin/commit/b2401285cd3e3d42006fc164ef1f046cc35a50c4 (not strictly needed, just an additional cleanup) which will be in supermin >= 5.1.21. |