Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] lsof: define linux C library type when using eglibc
@ 2012-07-12  6:17 b28495
  2012-07-12 19:30 ` Saul Wold
  0 siblings, 1 reply; 5+ messages in thread
From: b28495 @ 2012-07-12  6:17 UTC (permalink / raw)
  To: openembedded-core; +Cc: b29882

From: Ting Liu <b28495@freescale.com>

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>
---
 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 5823725..d28d2cb 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 = "r1"
+PR = "r2"
 
 SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2"
 
@@ -31,6 +31,11 @@ export LSOF_INCLUDE = "${STAGING_INCDIR}"
 do_configure () {
 	export LSOF_AR="${AR} cr"
 	export LSOF_RANLIB="${RANLIB}"
+        if [ "x${EGLIBCVERSION}" != "x" ];then
+                LINUX_CLIB=${EGLIBCVERSION/\./}
+                LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}"
+                export LINUX_CLIB
+        fi
 	yes | ./Configure ${LSOF_OS}
 }
 
-- 
1.7.3.4





^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-07-13  4:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-12  6:17 [PATCH] lsof: define linux C library type when using eglibc b28495
2012-07-12 19:30 ` Saul Wold
2012-07-12 20:09   ` Khem Raj
2012-07-13  2:46   ` Liu Ting-B28495
2012-07-13  3:37   ` Liu Ting-B28495

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox