Hi, I was having problems with building grep both native and for target on our build system. Seems that there is a dependency missing on gettext. Adding gettext to the inherit directive solves the build failure.
Regards, Jan On Fri, Jun 4, 2010 at 9:39 AM, Martin Jansa <[email protected]> wrote: > On Wed, Jun 2, 2010 at 10:34 PM, Khem Raj <[email protected]> wrote: >> * Fix build for uclibc as well. >> >> Signed-off-by: Khem Raj <[email protected]> > > Acked-by: Martin Jansa <[email protected]> > >> --- >> recipes/grep/grep-2.6.3/uclibc-fix.patch | 50 >> ++++++++++++++++++++++++++++++ >> recipes/grep/grep_2.6.3.bb | 47 ++++++++++++++++++++++++++++ >> 2 files changed, 97 insertions(+), 0 deletions(-) >> create mode 100644 recipes/grep/grep-2.6.3/uclibc-fix.patch >> create mode 100644 recipes/grep/grep_2.6.3.bb >> >> diff --git a/recipes/grep/grep-2.6.3/uclibc-fix.patch >> b/recipes/grep/grep-2.6.3/uclibc-fix.patch >> new file mode 100644 >> index 0000000..2e1c584 >> --- /dev/null >> +++ b/recipes/grep/grep-2.6.3/uclibc-fix.patch >> @@ -0,0 +1,50 @@ >> +Fix to use mempcpy instead of __mempcpy. This is needed for uclibc which >> +doesn't define __mempcpy only mempcpy. Since both uclibc and glibc have >> +mempcpy we'll just use that instead. >> + >> +Index: grep-2.6.3/lib/getopt.c >> +=================================================================== >> +--- grep-2.6.3.orig/lib/getopt.c 2010-03-21 00:34:02.000000000 -0700 >> ++++ grep-2.6.3/lib/getopt.c 2010-05-22 21:37:11.352740539 -0700 >> +@@ -41,6 +41,10 @@ >> + # include <wchar.h> >> + #endif >> + >> ++#ifdef __UCLIBC__ >> ++#define __mempcpy mempcpy >> ++#endif >> ++ >> + /* This version of `getopt' appears to the caller like standard Unix >> `getopt' >> + but it behaves differently for the user, since it allows the user >> + to intersperse the options with the other arguments. >> +Index: grep-2.6.3/gnulib-tests/setenv.c >> +=================================================================== >> +--- grep-2.6.3.orig/gnulib-tests/setenv.c 2010-05-22 >> 21:37:53.655168151 -0700 >> ++++ grep-2.6.3/gnulib-tests/setenv.c 2010-05-22 21:38:42.792745476 -0700 >> +@@ -68,6 +68,10 @@ __libc_lock_define_initialized (static, >> + # define tsearch __tsearch >> + #endif >> + >> ++#ifdef __UCLIBC__ >> ++#define __mempcpy mempcpy >> ++#endif >> ++ >> + /* In the GNU C library implementation we try to be more clever and >> + allow arbitrarily many changes of the environment given that the used >> + values are from a small set. Outside glibc this will eat up all >> +Index: grep-2.6.3/lib/regexec.c >> +=================================================================== >> +--- grep-2.6.3.orig/lib/regexec.c 2010-05-22 21:36:02.655154671 -0700 >> ++++ grep-2.6.3/lib/regexec.c 2010-05-22 21:37:26.212743273 -0700 >> +@@ -22,6 +22,11 @@ >> + >> + #include "verify.h" >> + #include "intprops.h" >> ++ >> ++#ifdef __UCLIBC__ >> ++#define __mempcpy mempcpy >> ++#endif >> ++ >> + static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags, >> + Idx n) internal_function; >> + static void match_ctx_clean (re_match_context_t *mctx) internal_function; >> diff --git a/recipes/grep/grep_2.6.3.bb b/recipes/grep/grep_2.6.3.bb >> new file mode 100644 >> index 0000000..c887ca0 >> --- /dev/null >> +++ b/recipes/grep/grep_2.6.3.bb >> @@ -0,0 +1,47 @@ >> +LICENSE = "GPL" >> +SECTION = "console/utils" >> +DESCRIPTION = "grep GNU utility" >> +PR = "r0" >> + >> +SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \ >> + file://uclibc-fix.patch" >> + >> +inherit autotools >> + >> +EXTRA_OECONF = "--disable-perl-regexp --disable-ncurses" >> +EXTRA_OECONF_virtclass-native = "--with-included-regex --disable-ncurses" >> + >> +do_configure () { >> + rm -f ${S}/m4/init.m4 >> + autotools_do_configure >> +} >> + >> +do_install () { >> + autotools_do_install >> + install -d ${D}${base_bindir} >> + mv ${D}${bindir}/grep ${D}${base_bindir}/grep.${PN} >> + mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep.${PN} >> + mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep.${PN} >> +} >> + >> +do_install_virtclass-native () { >> + autotools_do_install >> +} >> + >> +pkg_postinst_${PN} () { >> + update-alternatives --install ${base_bindir}/grep grep grep.${PN} 100 >> + update-alternatives --install ${base_bindir}/egrep egrep egrep.${PN} >> 100 >> + update-alternatives --install ${base_bindir}/fgrep fgrep fgrep.${PN} >> 100 >> +} >> + >> +pkg_prerm_${PN} () { >> + update-alternatives --remove grep grep.${PN} >> + update-alternatives --remove egrep egrep.${PN} >> + update-alternatives --remove fgrep fgrep.${PN} >> +} >> + >> +BBCLASSEXTEND = "native" >> + >> +SRC_URI[md5sum] = "69a3bf508a3f14d12369e0e1c7a92763" >> +SRC_URI[sha256sum] = >> "ba745e2ff297ab225bf870740d35593d402a1d92999cf0d7e56840f10218db7c" >> + >> -- >> 1.7.0.4 >> >> >> _______________________________________________ >> Openembedded-devel mailing list >> [email protected] >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel >> > > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
