[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#55793: Issue with elfutils libdw pkg-config's inputs
From: |
Maxim Cournoyer |
Subject: |
bug#55793: Issue with elfutils libdw pkg-config's inputs |
Date: |
Wed, 17 Jan 2024 22:20:54 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hello,
Ioannis Kappas <ioannis.kappas@gmail.com> writes:
> Hi,
>
> there appears to be an issue with the elfutils package that is missing
> a dependency after it is installed.
>
> To reproduce, on a profile without `xz' installed:
>
> $ guix install elfutils
> $ pkg-config --cflags libdw
>
> Package liblzma was not found in the pkg-config search path.
> Perhaps you should add the directory containing `liblzma.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'liblzma', required by 'libdw', not found
>
> or using gstreamer which depends on elfutils
>
> $ guix shell --check gstreamer pkg-config --pure
> $ pkg-config --cflags libdw
> Package liblzma was not found in the pkg-config search path.
> Perhaps you should add the directory containing `liblzma.pc'
> to the PKG_CONFIG_PATH environment variable
> Package 'liblzma', required by 'libdw', not found
>
> This is because elfutils has discovered an installation of the `xz'
> library during the configure phase (log @
> http://ci.guix.gnu.org/log/jp6027624wl2f4xx5yz1vjzd2b9yvwl9-elfutils-0.183)
>
> ...
> checking for library containing gzdirect... -lz
> checking for library containing BZ2_bzdopen... -lbz2
> checking for library containing lzma_auto_decoder... -llzma
> checking for library containing ZSTD_decompress... no
> ...
>
> even though it is not part of the package inputs
>
> gnu/packages/elf.scm:
> (define-public elfutils
> (package
> (name "elfutils")
> (version "0.183")
> ;; ...
> (native-inputs (list m4))
> (inputs (list zlib))
> ;; ...
> ))
>
> The `xz' package is most likely coming as an implicit input from the
> commencement module's %final-inputs and thus picked up by the
> configure script, but is never propagated.
>
> Assuming the above analysis is correct, potential solutions could be:
>
> 1. Declare `xz` as a propagated input in elfutils.
> 2. Pass --without-lzma to the configure script.
> 3. Change the build scripts so that build inputs that are only used
> for unpacking sources are only visible to unpack phase.
>
> Looking closer at the configure output, it appears there is an
> additional implicit input that is picked up by the configure script
> `bzip2`, thus this should also be considered.
>
> Furthermore, the configure script recommends that all compression
> methods should be installed
>
> RECOMMENDED FEATURES (should all be yes)
> gzip support : yes
> bzip2 support : yes
> lzma/xz support : yes
> zstd support : no
> libstdc++ demangle support : yes
> File textrel check : yes
> Symbol versioning : yes
>
> so perhaps option#1 above should be the preferred solution, and should
> also include zstd as a dep? If so, I've created the following draft
> to demonstrate its use
>
>>From 158b3f67fdd43b4e9b6ac1d46d27169e4f67c4de Mon Sep 17 00:00:00 2001
> Subject: [PATCH] Include elfutils recommended inputs for libdw pc
>
> ---
> gnu/packages/elf.scm | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
> index 414d6a2856..cfe3bd466a 100644
> --- a/gnu/packages/elf.scm
> +++ b/gnu/packages/elf.scm
> @@ -109,6 +109,10 @@ (define-public elfutils
>
> (native-inputs (list m4))
> (inputs (list zlib))
> + ;; libdw dependencies
> + (propagated-inputs `(("xz" ,xz)
> + ("lbzip2" ,lbzip2)
> + ("zstd:lib" ,zstd "lib")))
> (home-page "https://sourceware.org/elfutils/")
> (synopsis "Collection of utilities and libraries to handle ELF files and
> DWARF data")
Thank you for the detailed analysis and report! I think it'd make sense
to apply your patch. I won't do so myself at the moment as core-updates
is being frozen, but perhaps after it gets merged or a temporary branch
of core-updates is created to refine it there.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
--
Thanks,
Maxim
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#55793: Issue with elfutils libdw pkg-config's inputs,
Maxim Cournoyer <=