[oe] [PATCH 2/3] (e)glibc-package: set LD_LIBRARY_PATH on binary locale generation

Tom Rini trini at embeddedalley.com
Sat May 16 18:11:16 UTC 2009


On Sat, May 16, 2009 at 10:04:39PM +0400, Roman I Khimov wrote:

> Locale generation might fail with SIGSEGV if host libs get messed with target
> libs, that might easily happen via /etc/ld.so.cache when building x86(_64)
> target on x86(_64) host. So explicitly specify LD_LIBRARY_PATH to prevent that.

Acked-by: Tom Rini <trini at embeddedalley.com>

> ---
>  recipes/eglibc/eglibc-package.bbclass |    3 ++-
>  recipes/glibc/glibc-package.bbclass   |    3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/recipes/eglibc/eglibc-package.bbclass b/recipes/eglibc/eglibc-package.bbclass
> index 01f698a..241499f 100644
> --- a/recipes/eglibc/eglibc-package.bbclass
> +++ b/recipes/eglibc/eglibc-package.bbclass
> @@ -309,11 +309,12 @@ python package_do_split_gconvs () {
>  		bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d)
>  
>  		treedir = base_path_join(bb.data.getVar("WORKDIR", d, 1), "locale-tree")
> +		ldlibdir = "%s/lib" % treedir
>  		path = bb.data.getVar("PATH", d, 1)
>  		i18npath = base_path_join(treedir, datadir, "i18n")
>  
>  		localedef_opts = "--force --old-style --no-archive --prefix=%s --inputfile=%s/i18n/locales/%s --charmap=%s %s" % (treedir, datadir, locale, encoding, name)
> -		cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts)
> +		cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s -E LD_LIBRARY_PATH=%s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, ldlibdir, treedir, localedef_opts)
>  		bb.note("generating locale %s (%s)" % (locale, encoding))
>  		if os.system(cmd):
>  			raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd)
> diff --git a/recipes/glibc/glibc-package.bbclass b/recipes/glibc/glibc-package.bbclass
> index 8db8c5c..46f809e 100644
> --- a/recipes/glibc/glibc-package.bbclass
> +++ b/recipes/glibc/glibc-package.bbclass
> @@ -273,6 +273,7 @@ python package_do_split_gconvs () {
>  		bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d)
>  
>  		treedir = base_path_join(bb.data.getVar("WORKDIR", d, 1), "locale-tree")
> +		ldlibdir = "%s/lib" % treedir
>  		path = bb.data.getVar("PATH", d, 1)
>  		i18npath = base_path_join(treedir, datadir, "i18n")
>  
> @@ -282,7 +283,7 @@ python package_do_split_gconvs () {
>  		if not qemu_options:
>  			qemu_options = bb.data.getVar('QEMU_OPTIONS', d, 1)
>  		
> -		cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, qemu_options, treedir, localedef_opts)
> +		cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s -E LD_LIBRARY_PATH=%s %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, ldlibdir, qemu_options, treedir, localedef_opts)
>  		bb.note("generating locale %s (%s)" % (locale, encoding))
>  		if os.system(cmd):
>  			raise bb.build.FuncFailed("localedef returned an error (command was %s)." % cmd)
> -- 
> 1.6.3.1
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> 

-- 
Tom Rini




More information about the Openembedded-devel mailing list