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: fbf22dfe1a0dca3fc7ac56e4fd274c0145efbc70) 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>
55 lines
1.6 KiB
BlitzBasic
55 lines
1.6 KiB
BlitzBasic
SUMMARY = "LiSt Open Files tool"
|
|
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 = "r2"
|
|
|
|
SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2"
|
|
|
|
SRC_URI[md5sum] = "102ee2081172bbe76dccaa6cceda8573"
|
|
SRC_URI[sha256sum] = "49aa58e63539c45bada514a6a2e5a1c9f946ada1f4137dc9154cf4bf6054a1c1"
|
|
|
|
LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
|
|
S = "${WORKDIR}/lsof_${PV}_src"
|
|
|
|
LIC_FILES_CHKSUM = "file://${S}/00README;beginline=645;endline=679;md5=e0108f7811919035515a97f872eb8ee2"
|
|
|
|
python do_unpack () {
|
|
bb.build.exec_func('base_do_unpack', d)
|
|
src_uri = d.getVar('SRC_URI')
|
|
d.setVar('SRC_URI', '${LOCALSRC}')
|
|
bb.build.exec_func('base_do_unpack', d)
|
|
d.setVar('SRC_URI', src_uri)
|
|
}
|
|
|
|
export LSOF_OS = "${TARGET_OS}"
|
|
LSOF_OS_libc-uclibc = "linux"
|
|
LSOF_OS_libc-glibc = "linux"
|
|
export LSOF_INCLUDE = "${STAGING_INCDIR}"
|
|
|
|
do_configure () {
|
|
export LSOF_AR="${AR} cr"
|
|
export LSOF_RANLIB="${RANLIB}"
|
|
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}
|
|
}
|
|
|
|
export I = "${STAGING_INCDIR}"
|
|
export L = "${STAGING_INCDIR}"
|
|
export EXTRA_OEMAKE = ""
|
|
|
|
do_compile () {
|
|
oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}'
|
|
}
|
|
|
|
do_install () {
|
|
install -d ${D}${sbindir} ${D}${mandir}/man8
|
|
install -m 4755 lsof ${D}${sbindir}/lsof
|
|
install -m 0644 lsof.8 ${D}${mandir}/man8/lsof.8
|
|
}
|