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. |