diff options
| author | Ting Liu <b28495@freescale.com> | 2012-07-13 00:14:25 -0500 |
|---|---|---|
| committer | Scott Garman <scott.a.garman@intel.com> | 2012-07-18 10:19:05 -0700 |
| commit | 8c38bc022de209187f31952ae02313dd3104f4c6 (patch) | |
| tree | 8a97a4db69a381ab884c73c4ca1ced29a0820627 | |
| parent | 2e7dddfce4a40a56f671116a2001b13c57667c70 (diff) | |
| download | openembedded-core-8c38bc022de209187f31952ae02313dd3104f4c6.tar.gz openembedded-core-8c38bc022de209187f31952ae02313dd3104f4c6.tar.bz2 openembedded-core-8c38bc022de209187f31952ae02313dd3104f4c6.zip | |
lsof: define linux C library type when using eglibc
lsof tries to compile a temp c source file and execute the binary to
determine linux C library type (file Configure, line 2689-2717).
It is inpracticable for cross-compilation and may have build issue on
some distros since it depends on host settings.
Fix below error when building for 64bit target on 64bit host:
[...]
| dsock.c:481:44: error: 'TCP_LISTEN' undeclared (first use in this function)
| dsock.c:482:45: error: 'TCP_CLOSING' undeclared (first use in this function)
[...]
| make: *** [dsock.o] Error 1
The actual issue exists in do_configure:
[...]
Testing C library type with cc ... done
Cannot determine C library type; assuming it is not glibc.
Which is in turn caused by missing 'gnu/stubs-32.h" when compiling
the temp c source file on host:
[...]
fatal error: gnu/stubs-32.h: No such file or directory compilation terminated.
file gnu/stubs-32.h is provided by 32bit glibc.
Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-extended/lsof/lsof_4.85.bb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/meta/recipes-extended/lsof/lsof_4.85.bb b/meta/recipes-extended/lsof/lsof_4.85.bb index 8f25e24a50..d4091d1459 100644 --- a/meta/recipes-extended/lsof/lsof_4.85.bb +++ b/meta/recipes-extended/lsof/lsof_4.85.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \ Its name stands for LiSt Open Files, and it does just that." SECTION = "devel" LICENSE = "BSD" -PR = "r0" +PR = "r1" SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" @@ -29,6 +29,11 @@ LSOF_OS_libc-glibc = "linux" export LSOF_INCLUDE = "${STAGING_INCDIR}" do_configure () { + if [ "x${EGLIBCVERSION}" != "x" ];then + LINUX_CLIB=`echo ${EGLIBCVERSION} |sed -e 's,\.,,g'` + LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" + export LINUX_CLIB + fi yes | ./Configure ${LSOF_OS} } |
