Compiling makedumpfile from source

manty kuma mantykuma at gmail.com
Thu Jun 10 22:04:22 PDT 2021


I removed existing libzstd and installed the latest one from

Now, elfutils compiles fine.


But when compiling makedumpfile i have following issue:
```
makedumpfile (master) $ make LINKTYPE=dynamic
cc  -g -O2 -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -DVERSION='"1.6.9++"' -DRELEASE_DATE='"13 May
2021"' -D__x86_64__   print_info.o dwarf_info.o elf_info.o
erase_info.o sadump_info.o cache.o tools.o printk.o arch/arm.o
arch/arm64.o arch/x86.o arch/x86_64.o arch/ia64.o arch/ppc64.o
arch/s390x.o arch/ppc.o arch/sparc64.o arch/mips64.o -rdynamic -o
makedumpfile makedumpfile.c -ldw -lbz2 -ldl -lelf -lz -lpthread  -lebl
//usr/local/lib/libdw.a(lzma.o): In function `__libdw_unlzma':
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:308: undefined
reference to `lzma_auto_decoder'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:323: undefined
reference to `lzma_end'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:342: undefined
reference to `lzma_code'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:352: undefined
reference to `lzma_end'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:311: undefined
reference to `lzma_end'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:352: undefined
reference to `lzma_end'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:352: undefined
reference to `lzma_end'
//usr/local/lib/libdw.a(zstd.o): In function `__libdw_unzstd':
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:245: undefined
reference to `ZSTD_createDCtx'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:257: undefined
reference to `ZSTD_freeDCtx'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:278: undefined
reference to `ZSTD_decompressStream'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:280: undefined
reference to `ZSTD_isError'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:292: undefined
reference to `ZSTD_isError'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:294: undefined
reference to `ZSTD_freeDCtx'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:296: undefined
reference to `ZSTD_isError'
/home/mujin/temp/elfutils-0.182/libdwfl/gzip.c:269: undefined
reference to `ZSTD_freeDCtx'
collect2: error: ld returned 1 exit status
Makefile:100: recipe for target 'makedumpfile' failed
make: *** [makedumpfile] Error 1
```

Regards,
Manty

On Fri, Jun 11, 2021 at 12:19 PM manty kuma <mantykuma at gmail.com> wrote:
>
> Thank you.
> for example, i am trying to compile: elfutils-0.182 package downloaded
> from https://sourceware.org/elfutils/ftp/0.182/
> After successfully configuring it, make fails with following error.
>
> ----------------------------------------
> Making all in libdwfl
>   CC       zstd.o
> In file included from zstd.c:4:0:
> gzip.c: In function ‘__libdw_unzstd’:
> gzip.c:278:39: error: passing argument 1 of ‘ZSTD_decompressStream’
> from incompatible pointer type [-Werror=incompatible-pointer-types]
>        result = ZSTD_decompressStream (dctx, &output, &input);
>                                        ^~~~
> In file included from gzip.c:53:0,
>                  from zstd.c:4:
> /usr/include/zstd.h:308:20: note: expected ‘ZSTD_DStream * {aka struct
> ZSTD_DStream_s *}’ but argument is of type ‘ZSTD_DCtx * {aka struct
> ZSTD_DCtx_s *}’
>  ZSTDLIB_API size_t ZSTD_decompressStream(ZSTD_DStream* zds,
> ZSTD_outBuffer* output, ZSTD_inBuffer* input);
>                     ^~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> Makefile:681: recipe for target 'zstd.o' failed
> make[2]: *** [zstd.o] Error 1
> ----------------------------------------
>
> Seems like the configure file is not checking for specific version of
> libzstd-dev and it is not compatible with my current libzstd-dev
> My current version is as follows:
> ---
> $ apt-show-versions libzstd-dev
> libzstd-dev:amd64/stretch 1.1.2-1+deb9u1 uptodate
> ---
>
> Thank you.
>
> Regards,
> Manty
> On Fri, Jun 11, 2021 at 10:13 AM HAGIO KAZUHITO(萩尾 一仁)
> <k-hagio-ab at nec.com> wrote:
> >
> > Hi Manty,
> >
> > -----Original Message-----
> > > What version of elfutils is needed by `makedumpfile`?
> > > elfutils-0.144 is mentioned in README.
> > > I tried this one but the compilation is broken.
> > >
> > > https://sourceware.org/elfutils/ftp/0.144/
> > >
> > > Should I try to use the latest one instead?
> >
> > It could be built with elfutils-0.144 or later at the point of v1.6.7, and
> > I can build the latest makedumpfile with elfutils-0.148, 0.164, 0.182 on
> > some RHEL environments on hand with "make LINKTYPE=dynamic".
> >
> > What command do you use to build?  and what error do you see?
> >
> > Thanks,
> > Kazu
> >



More information about the kexec mailing list