Bug 1311954
Summary: | glibc: Binary locale files vary within a mutilib set e.g. x86_64/i686 and should not. | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mike FABIAN <mfabian> |
Component: | glibc | Assignee: | DJ Delorie <dj> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 29 | CC: | arjun.is, codonell, dj, fweimer, jakub, law, mfabian, pfrankli, siddhesh |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-10-30 13:28:35 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: |
Description
Mike FABIAN
2016-02-25 11:41:07 UTC
With the new langpack split up you can see exactly which locales have problems: file /usr/lib/locale/hu_HU/LC_COLLATE from install of glibc-langpack-hu-2.22.90-52.fc24.i686 conflicts with file from package glibc-langpack-hu-2.22.90-52.fc24.x86_64 file /usr/lib/locale/om_ET/LC_COLLATE from install of glibc-langpack-om-2.22.90-52.fc24.i686 conflicts with file from package glibc-langpack-om-2.22.90-52.fc24.x86_64 file /usr/lib/locale/om_KE.utf8/LC_COLLATE from install of glibc-langpack-om-2.22.90-52.fc24.i686 conflicts with file from package glibc-langpack-om-2.22.90-52.fc24.x86_64 file /usr/lib/locale/th_TH.utf8/LC_COLLATE from install of glibc-langpack-th-2.22.90-52.fc24.i686 conflicts with file from package glibc-langpack-th-2.22.90-52.fc24.x86_64 file /usr/lib/locale/th_TH/LC_COLLATE from install of glibc-langpack-th-2.22.90-52.fc24.i686 conflicts with file from package glibc-langpack-th-2.22.90-52.fc24.x86_64 So hu_HU, om_ET, om_KE.utf8, th_TH, th_TH.utf8 all have differences. This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle. Changing version to '25'. This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'. This message is a reminder that Fedora 26 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 26. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '26'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 26 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle. Changing version to '29'. The locale files are not architecture-independent because they use host endianess. (The data is mapped directly into the process.) I think the actual problem is that the locale data was not reproducible, which means that the locale files are not multiarch-clean from an RPM perspective. It is worth examining if after the change in bug 1652228, this problem is gone and the file contents is now fully reproducible. (In reply to Florian Weimer from comment #9) > The locale files are not architecture-independent because they use host > endianess. (The data is mapped directly into the process.) That is OK. > I think the actual problem is that the locale data was not reproducible, > which means that the locale files are not multiarch-clean from an RPM > perspective. It is worth examining if after the change in bug 1652228, this > problem is gone and the file contents is now fully reproducible. Correct, we're talking about multiarch-clean e.g. s390x vs s390, or i686 vs x86_64. There are 2 issues at hand and I confused them. (a) Differences in files due to hard linking. (b) Differences in locale-archive.tmpl between rpm multilibs e.g. i686 vs x86_64. I think that bug 1652228 fixes (a), and is what I saw in comment #1, namely that the hardlink setup makes them non-multiarch-clean. However, it leaves (b), which is the real issue Mike commented on in the bug description. The glibc-all-langpacks for i686 and x86_64 should have an identical template (copy of the locale archive) unless we have indeterminate sorting somewhere putting the files in the wrong order into the archive? I did some research on this bug, and it turns out to be a rounding difference in floating point math choices between the architectures. I've posted an analysis and possible fix upstream: https://www.sourceware.org/ml/libc-alpha/2019-03/msg00424.html This is fixed upstream with this: commit ac64195ccd4f320659fd0058bc7524c6fd0b37b4 Author: DJ Delorie <dj> Date: Wed Mar 20 23:56:59 2019 -0400 iconv, localedef: avoid floating point rounding differences [BZ #24372] Two cases of "int * 1.4" may result in imprecise results, which in at least one case resulted in i686 and x86-64 producing different locale files. This replaced that floating point multiply with integer operations. While the hash table margin is increased from 40% to 50%, testing shows only 2% increase in overall size of the locale archive. https://bugzilla.redhat.com/show_bug.cgi?id=1311954 Reviewed-by: Carlos O'Donell <carlos> The hardlink issue is fixed here in the spec file: commit fdcac6f8f4b2f3d0d1cca6974ef7a8997a2997ad Author: Florian Weimer <fweimer> Date: Mon Nov 26 14:58:44 2018 +0100 Do not use parallel make for building locales (#1652228) It is also fixed in Rawhide and F31. Closing as fixed. |