Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1368238
Summary: | dnf pulls in armv7hnl package variants on a no-NEON system | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Alexey Charkov <alchark> | ||||
Component: | hawkey | Assignee: | rpm-software-management | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 24 | CC: | alchark, ignatenko, jmracek, jsilhan, mluscon, packaging-team-maint, pbrobinson, pnemade, RadekHolyPublic, rpm-software-management, vmukhame | ||||
Target Milestone: | --- | Keywords: | Triaged | ||||
Target Release: | --- | ||||||
Hardware: | armv7hl | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | hawkey-0.6.3-5.fc24 hawkey-0.6.3-5.fc25 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2016-08-27 15:17:57 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: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 245418 | ||||||
Attachments: |
|
Description
Alexey Charkov
2016-08-18 18:48:51 UTC
Please run dnf distro-sync with --debugsolver and upload it. Created attachment 1192907 [details]
Results of dnf --debugsolver distro-sync
> system armv7hnl rpm @System
that's actually why.
Is there any way to set that to the correct value? Reading docs on dnf configuration didn't reveal much, so I thought it should get autodetected via /proc/cmdline (which doesn't seem to work here). Sorry, I meant /proc/cpuinfo above. Looking at the code snippet you've linked above Igor, my machine should be detected as armv7hl as /proc/cpuinfo doesn't include any instances of "neon" (thus ARM_NEON should not be set in flags on line 53). I believe RPM itself also detects the architecture correctly as armv7hl (as evidenced by rpm --showrc in the original post, if I interpret it correctly) - can the problem lie within dnf and/or libsolv specifically? (In reply to Alexey Charkov from comment #6) > Sorry, I meant /proc/cpuinfo above. Looking at the code snippet you've > linked above Igor, my machine should be detected as armv7hl as /proc/cpuinfo > doesn't include any instances of "neon" (thus ARM_NEON should not be set in > flags on line 53). > > I believe RPM itself also detects the architecture correctly as armv7hl (as > evidenced by rpm --showrc in the original post, if I interpret it correctly) > - can the problem lie within dnf and/or libsolv specifically? can you paste `cat /proc/cpuinfo`? Actually that function defines your arch and passes then to DNF/libsolv. Igor, that's already pasted in the original bug description above, along with an abstract from rpm --showrc. Please let me know if there's any other info that could help (happy to single-step through the code in gdb or whatever, if helpful - but would appreciate pointers on where to look). #include <stdlib.h> #include <stdio.h> #include <hawkey/util.h> static inline void cleanup_free (void *p) { void **pp = (void **)p; if (*pp) free (*pp); } int main (void) { __attribute__((__cleanup__(cleanup_free))) char *arch = NULL; if (hy_detect_arch (&arch)) return EXIT_FAILURE; printf ("%s\n", arch); return EXIT_SUCCESS; } # dnf --enablerepo=fedora-debuginfo --enablerepo=updates-debuginfo install hawkey-debuginfo glibc-debuginfo $ gcc -Wall -Wextra -Werror -g `pkg-config --cflags --libs hawkey` arch.c $ gdb ./a.out -ex "b hy_detect_arch" -ex "run" and would be nice if you will examine what's going on there. Bingo. flags & (ARM_NEON | ARM_VFP3) is true whenever either of ARM_NEON or ARM_VFP3 bits is set (or both). Should instead be as follows: (flags & ARM_NEON) && (flags & ARM_VFP3) What would be the easiest way to test and confirm the fix on a non-devel system? Sorry I'm relatively new to Fedora - coming from Gentoo world where one can't really have a non-devel system :) (In reply to Alexey Charkov from comment #10) > Bingo. > > flags & (ARM_NEON | ARM_VFP3) is true whenever either of ARM_NEON or > ARM_VFP3 bits is set (or both). Should instead be as follows: > > (flags & ARM_NEON) && (flags & ARM_VFP3) > > What would be the easiest way to test and confirm the fix on a non-devel > system? Sorry I'm relatively new to Fedora - coming from Gentoo world where > one can't really have a non-devel system :) From RPM's code: if (rstreq(un.machine, "armv7l")) { if (rpmat.hwcap & HWCAP_ARM_VFPv3) { if (rpmat.hwcap & HWCAP_ARM_NEON) strcpy(un.machine, "armv7hnl"); else strcpy(un.machine, "armv7hl"); } } There are 2 solutions: * just fix that expression * get arch from RPM 2nd one looks better solution. hawkey-0.6.3-5.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-8b21e1bd2d hawkey-0.6.3-5.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-035cf56746 I confirm that with hawkey-0.6.3-5.fc24 from Koji I'm now correctly getting armv7hf variant for the packages in question. Thanks a lot for such a quick turnaround! hawkey-0.6.3-5.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-035cf56746 hawkey-0.6.3-5.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-8b21e1bd2d hawkey-0.6.3-5.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. hawkey-0.6.3-5.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report. |