[PATCH 2/6] tools/dwarves: add host package
Ansuel Smith
ansuelsmth at gmail.com
Mon Feb 28 06:16:45 PST 2022
>
> On 27/02/2022 17:20, Ansuel Smith wrote:
> > >
> >> From: Tony Ambardar <itugrok at yahoo.com>
> >>
> >> dwarves is a set of tools that use the debugging information inserted in
> >> ELF binaries by compilers such as GCC. Utilities in the dwarves suite
> >> include pahole, which can be used to find alignment holes in structs and
> >> classes, and also extracts other information such as CPU cacheline
> >> alignment, helping pack those structures to achieve more cache hits.
> >>
> >> These tools are also used to encode and read the BTF type information
> >> format used with the bpf syscall, making this a Linux build dependency
> >> when using kernel BTF information.
> > BTW this fails to build if libdw-dev is not installed with
> >
> > -- Checking availability of DWARF and ELF development libraries
> > -- Could NOT find dwarf include dir
> > -- Could NOT find libdw include dir
> > -- Could NOT find libdw library
> > CMake Error at cmake/modules/FindDWARF.cmake:93 (message):
> > Could NOT find some ELF and DWARF libraries, please install the missing
> > packages
> > Call Stack (most recent call first):
> > CMakeLists.txt:60 (find_package)
> >
> > ERROR: tools/dwarves failed to build.
> >
> > Should we add it to the build prereq?
>
> Please try this instead:
>
> diff --git a/tools/dwarves/Makefile b/tools/dwarves/Makefile
> index b02a2398a1..e5a55706be 100644
> --- a/tools/dwarves/Makefile
> +++ b/tools/dwarves/Makefile
> @@ -12,14 +12,12 @@PKG_LICENSE:=GPL-2.0-only
> PKG_LICENSE_FILES:=COPYING
>
> HOST_BUILD_PARALLEL:=1
> +PKG_BUILD_DEPENDS:=elfutils/host
>
> include $(INCLUDE_DIR)/host-build.mk
> include $(INCLUDE_DIR)/cmake.mk
>
> CMAKE_HOST_OPTIONS += \
> - -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
> - -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=BOTH \
> - -DCMAKE_BUILD_TYPE=Release \
> -D__LIB=lib \
> -DCMAKE_INSTALL_RPATH="$(STAGING_DIR_HOST)/lib" \
> -DCMAKE_SKIP_RPATH=FALSE
>
> Thanks,
> Stijn
>
No luck... still
make[3]: Leaving directory '/home/ansuel/openwrt/tools/missing-macros'
time: tools/missing-macros/compile#0.09#0.06#0.12
-- The C compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
make[3]: Leaving directory '/home/ansuel/openwrt/tools/automake'
time: tools/automake/compile#0.14#0.44#0.51
make[3]: Entering directory '/home/ansuel/openwrt/tools/libtool'
make[3]: Entering directory '/home/ansuel/openwrt/tools/dosfstools'
make[3]: Leaving directory '/home/ansuel/openwrt/tools/dosfstools'
time: tools/dosfstools/compile#0.13#0.17#0.25
-- Detecting C compiler ABI info - done
-- Check for working C compiler:
/home/ansuel/openwrt/staging_dir/host/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting BUILD_SHARED_LIBS = ON
make[3]: Leaving directory '/home/ansuel/openwrt/tools/libtool'
-- Checking availability of DWARF and ELF development libraries
time: tools/libtool/compile#0.15#0.27#0.34
-- Could NOT find dwarf include dir
-- Could NOT find libdw include dir
-- Could NOT find libdw library
-- Could NOT find libelf library
CMake Error at cmake/modules/FindDWARF.cmake:93 (message):
Could NOT find some ELF and DWARF libraries, please install the missing
packages
Call Stack (most recent call first):
CMakeLists.txt:60 (find_package)
-- Configuring incomplete, errors occurred!
More information about the openwrt-devel
mailing list