mirror of
https://git.yoctoproject.org/poky
synced 2026-04-04 23:02:22 +02:00
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. (From OE-Core rev: 8c38bc022de209187f31952ae02313dd3104f4c6) 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>
This commit is contained in:
@@ -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}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user