Re: [PATCH] perf, tools: Support static linking with libdw

From: Jiri Olsa
Date: Sat Aug 08 2015 - 11:29:32 EST


On Fri, Aug 07, 2015 at 03:18:48PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> The Fedora 22 version of libdw requires a couple of extra libraries
> to link. With a dynamic link the dependencies are pulled in automatically,
> but this doesn't work for static linking. Add the needed libraries
> explicitely to the feature probe and the Makefile.
>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> ---
> tools/build/feature/Makefile | 2 +-
> tools/perf/config/Makefile | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
> index 463ed8f..179fc1a 100644
> --- a/tools/build/feature/Makefile
> +++ b/tools/build/feature/Makefile
> @@ -70,7 +70,7 @@ test-glibc.bin:
> $(BUILD)
>
> test-dwarf.bin:
> - $(BUILD) -ldw
> + $(BUILD) -ldw -lelf -lebl -lz -llzma -lbz2
>
> test-libelf-mmap.bin:
> $(BUILD) -lelf
> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> index 094ddae..384e0a6 100644
> --- a/tools/perf/config/Makefile
> +++ b/tools/perf/config/Makefile
> @@ -297,7 +297,7 @@ ifndef NO_LIBELF
> else
> CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS)
> LDFLAGS += $(LIBDW_LDFLAGS)
> - EXTLIBS += -ldw
> + EXTLIBS += -ldw -lelf -lebl -lz -lbz2 -llzma
> $(call detected,CONFIG_DWARF)
> endif # PERF_HAVE_DWARF_REGS
> endif # NO_DWARF
> --
> 2.4.3
>

please also update the warning, as now it's not obvious you need
to install also bz2 libs (bzip2-devel on Fedora) for dwarf support..
we already have check for lzma

thanks,
jirka


[jolsa@krava perf]$ make
BUILD: Doing 'make -j4' parallel build

Auto-detecting system features:
... dwarf: [ OFF ]
... glibc: [ on ]
... gtk2: [ on ]
... libaudit: [ on ]
... libbfd: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... libperl: [ on ]
... libpython: [ on ]
... libslang: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ on ]

config/Makefile:267: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/