diff options
author | Roman I Khimov <khimov@altell.ru> | 2009-05-15 16:25:49 +0400 |
---|---|---|
committer | Roman I Khimov <khimov@altell.ru> | 2009-05-17 09:23:59 +0400 |
commit | 6065fa491c009118ae282ae933215649cccfcd24 (patch) | |
tree | 8fa6f263caaf3b601874175fe475d9acd825127a | |
parent | 6d64144303ee883e6248578a2027eb29b5d8e6e8 (diff) |
(e)glibc-package: set LD_LIBRARY_PATH on binary locale generation
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@embeddedalley.com>
-rw-r--r-- | recipes/eglibc/eglibc-package.bbclass | 3 | ||||
-rw-r--r-- | 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 01f698adaf..241499f4a8 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 8db8c5cb6f..46f809e22b 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) |