Skip to contentSkip to conversation

eglibc: Add gettext-native to DEPENDS

PATCH In review Phil Blundell 2 participants 3 messages Apr 23, 2013 – Apr 24, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 eglibc: Add gettext-native to DEPENDS

Otherwise you get:

| msgfmt -o be.mo be.po
| msgfmt -o bg.mo bg.po
| msgfmt -o ca.mo ca.po
| /bin/bash: msgfmt: command not found
| make[2]: *** [be.mo] Error 127
| make[2]: *** Waiting for unfinished jobs....
| /bin/bash: msgfmt: command not found
| make[2]: *** [ca.mo] Error 127
| /bin/bash: msgfmt: command not found
| make[2]: *** [bg.mo] Error 127

if msgfmt isn't available in the host environment.

---
 meta/recipes-core/eglibc/eglibc.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/eglibc/eglibc.inc +1 -1
index 1e04197..38d8c44 100644
@@ -33,7 +33,7 @@ siteconfig_do_siteconfig_gencache_prepend = " \
 "
 
 # nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial gettext-native"
 # nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
 #RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
 PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 25 lines · Phil Blundell

Otherwise you get:

| msgfmt -o be.mo be.po
| msgfmt -o bg.mo bg.po
| msgfmt -o ca.mo ca.po
| /bin/bash: msgfmt: command not found
| make[2]: *** [be.mo] Error 127
| make[2]: *** Waiting for unfinished jobs....
| /bin/bash: msgfmt: command not found
| make[2]: *** [ca.mo] Error 127
| /bin/bash: msgfmt: command not found
| make[2]: *** [bg.mo] Error 127

if msgfmt isn't available in the host environment.

---
 meta/recipes-core/eglibc/eglibc.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/eglibc/eglibc.inc +0 -0
index 1e04197..38d8c44 100644

meta/recipes-core/eglibc/eglibc.inc siteconfig_do_siteconfig_gencache_prepend = " \ · line 39

Quoted 8 lines
meta/recipes-core/eglibc/eglibc.inc +1 -1
@@ -33,7 +33,7 @@ siteconfig_do_siteconfig_gencache_prepend = " \
 "
 
 # nptl needs unwind support in gcc, which can't be built without glibc.
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial gettext-native"
 # nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
 #RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
 PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"

This will have a significant adverse affect on build speed due to build dependency bottlenecks :(

Are there any good options for avoiding this?

Cheers,

Richard

#2 lore raw
Quoted 11 lines · Richard Purdie

meta/recipes-core/eglibc/eglibc.inc siteconfig_do_siteconfig_gencache_prepend = " \ · line 39

Quoted 6 lines · Phil Blundell
 # nptl needs unwind support in gcc, which can't be built without glibc.
meta/recipes-core/eglibc/eglibc.inc +1 -1
-DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial gettext-native"
 # nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
 #RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
 PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"

This will have a significant adverse affect on build speed due to build dependency bottlenecks :(

Quoted 1 line

Are there any good options for avoiding this?

Well, obviously folks who do have it in the host environment can set ASSUME_PROVIDED. I assume most people do have that installed, otherwise this would be failing all the time.

Other than that, I think your options are:

1. figure out a way to defer catalog building to later, e.g. put it in eglibc-locale instead. This would probably involve some hacking of the eglibc makefiles but I don't think it would be especially hard.

2. find a way to disable catalog generation entirely for folks who don't want it. That might involve inventing DISTRO_FEATURES="l10n" or something and patching (albeit trivial) to both configure.in and the makefiles. I imagine that change would be upstreamable in eglibc.

3. reimplement msgcat as a python script or something else that doesn't need compiling, or pull out msgcat.c into its own recipe that just builds this single file (avoiding the autotools overhead that gettext-native has).

I can't think of any other obvious choices offhand but I'm sure there are more.

The thing that does seem a bit puzzling is that this problem didn't use to happen with older versions of oe-core (in particular, I never saw it with my previous snapshot which used eglibc 2.16). I'm not quite sure what changed to make it suddenly become an issue.

p.