| Summary: | eglibc-use-option-groups.patch breaks locale tests | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Joseph Myers <joseph> |
| Component: | core | Assignee: | Juro Bystricky <juro.bystricky> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | juro.bystricky, mark.hatle, meta.mr.watcher, meta.watcher |
| Version: | unspecified | ||
| Target Milestone: | 1.7.2 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | Regression (Used to work) |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Joseph Myers
2014-10-03 17:26:13 UTC
It is possible to avoid the problem by removing the offending changes, the patch lines from eglibc-use-option-groups.patch: @@ -143,9 +161,13 @@ $(addprefix $(objpfx),$(CTYPE_FILES)): %: \ gen-locale.sh $(common-objpfx)locale/localedef Makefile \ $(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS)) - @$(SHELL) gen-locale.sh $(common-objpfx) \ - '$(built-program-cmd-before-env)' '$(run-program-env)' \ - '$(built-program-cmd-after-env)' $@; \ + @$(SHELL) gen-locale.sh $(common-objpfx) \ + '$(if $(cross-localedef), \ + $(cross-localedef), \ + $(built-program-cmd-before-env) \ + $(run-program-env) \ + $(built-program-cmd-after-env))' \ + $@; \ $(evaluate-test) This will work fine and the locales will be built properly. However, building locales this way will fail on systems with 64MB or less: for example in my glibc tests it failed on qemuarm with 64MB or less. I believe the purpose of using cross-localedef is to build locales on systems with small memory footprint. Fixing this bug properly depends on whether building the new locales is a glibc test in its own write or the newly built locales are simply a prerequisite for subsequent glibc tests using locales. If they are just a prerequisite, than the fix may require using cross-localedef with a new patch for eglibc-use-option-groups.patch (and possibly gen-locale.sh). Posted a patch to openembedded-core for a review. Removed patching of Makefile to use cross-localedef, keep the original Makefile locale generation using the newly built glibc. This works fine, all locale dependent glibc tests seem to be happy. This will most likely fail on systems with 64M or less. If this becomes an issue, the patch can be revisited. https://www.mail-archive.com/openembedded-core%40lists.openembedded.org/msg58903.html Merged, commit c453597d44a1a2301f4be7bf7a0853ea12eb448c |