GNU bug report logs - #55793
Issue with elfutils libdw pkg-config's inputs

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Ioannis Kappas <ioannis.kappas@HIDDEN>; dated Sat, 4 Jun 2022 09:55:01 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 55793 <at> debbugs.gnu.org:


Received: (at 55793) by debbugs.gnu.org; 18 Jan 2024 03:21:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 17 22:21:08 2024
Received: from localhost ([127.0.0.1]:54070 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rQIxn-0002Jo-MB
	for submit <at> debbugs.gnu.org; Wed, 17 Jan 2024 22:21:08 -0500
Received: from mail-qt1-x82b.google.com ([2607:f8b0:4864:20::82b]:60440)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1rQIxk-0002Iu-LT
 for 55793 <at> debbugs.gnu.org; Wed, 17 Jan 2024 22:21:06 -0500
Received: by mail-qt1-x82b.google.com with SMTP id
 d75a77b69052e-4298e866cd6so72390211cf.0
 for <55793 <at> debbugs.gnu.org>; Wed, 17 Jan 2024 19:21:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1705548057; x=1706152857; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=8uI7rhO+nA2qRI8ZpM7MvRr6ZrE/A6vc47Wlrm1alF4=;
 b=luLh5YDxpr7uc7q6SsBoU/X1gTGmnG8Hfewg9y5eqSTETEJFlvnM7pYmbcoG5ct/jK
 qOQAPzn8NcAhHX2W9vJ1oLbWe/BjGb0jqptnMJWL4zMldyu/HznnY2nkPzhq955JU7HK
 ILEbApwLdHXrgF5fLgjRRyQblD3Is79JZi2xEziNCTqqStKYR6T5ALksW3reqSVk2rKm
 jOXl7WvtLg5AEPL+qTQSUmZwl5Qp8nfRMDjqvKgBqFHLz8+yhq9xWcfzkS+WOwYrbVap
 XbB5mGJquSh7r3g3D6IN6fTBpCn137Iu6WWMczdI9GLT8XfhOhcx8yFnnnqrGanh00rl
 RF/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1705548057; x=1706152857;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=8uI7rhO+nA2qRI8ZpM7MvRr6ZrE/A6vc47Wlrm1alF4=;
 b=dMQOkiNmYdvk1YJ2oxzTAyS424YG8bJvd5iZF8qgcB43btg2UFHovkY7VdnlLOcWcA
 vJQELKP2os0wpIzCwVAdK50gmFQDOP1XG8xpQGv5CxLhNqSSyTWzY3bEjPwHbykJRlc/
 najVyShg4WJ7Ieuhi7xtuOCUJ1g1CJeVnyK6jac0cvDbanxHSCY0a7jvcgKHq1mShI+W
 DmfSds9ExS4vWvxDKkj9C8RANWPnnzSlZsKJvWNLfvBZl2mnsN8HeSfRKdofuRC6ut5p
 KyJh3Mvqv9REWSdQPVTthe6n/hOckA+qSXr1SeIKFKmbb0eFqSM7ems6ajyTKWsAdY5h
 +1dw==
X-Gm-Message-State: AOJu0Yx0GZa3Vy9irjPogIOGWxbP3nAcrwjGd1sjg3Gbbt+XjjONTuO7
 C1hmD7RKm/ZPaBdQADndzc4hefj6cAnPrCy3RQrOAdORnhSd5KrwP398h1QMNbM=
X-Google-Smtp-Source: AGHT+IE/lPhAozkdRiuY/OIcPEmfmiu09Gy8Oi4HuFVkLlfp6DuBYKf9ZR7P3vxCb0fkuQSBhJJl5g==
X-Received: by 2002:a05:622a:82:b0:42a:7e1:dd42 with SMTP id
 o2-20020a05622a008200b0042a07e1dd42mr222958qtw.128.1705548057207; 
 Wed, 17 Jan 2024 19:20:57 -0800 (PST)
Received: from hurd (dsl-10-141-147.b2b2c.ca. [72.10.141.147])
 by smtp.gmail.com with ESMTPSA id
 s7-20020a05620a080700b007831cca1e84sm4990680qks.10.2024.01.17.19.20.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Jan 2024 19:20:56 -0800 (PST)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Ioannis Kappas <ioannis.kappas@HIDDEN>
Subject: Re: bug#55793: Issue with elfutils libdw pkg-config's inputs
In-Reply-To: <CAMRHuGASi=iroEhfj1-fcrM465Di8DM=g--6+_v=6zt3AZZuYw@HIDDEN>
 (Ioannis Kappas's message of "Sat, 4 Jun 2022 10:54:45 +0100")
References: <CAMRHuGASi=iroEhfj1-fcrM465Di8DM=g--6+_v=6zt3AZZuYw@HIDDEN>
Date: Wed, 17 Jan 2024 22:20:54 -0500
Message-ID: <87zfx3l42x.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 55793
Cc: 55793 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

Ioannis Kappas <ioannis.kappas@HIDDEN> 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@HIDDEN>

-- 
Thanks,
Maxim




Information forwarded to bug-guix@HIDDEN:
bug#55793; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 4 Jun 2022 09:54:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 04 05:54:59 2022
Received: from localhost ([127.0.0.1]:57672 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1nxQUk-0000sJ-Jk
	for submit <at> debbugs.gnu.org; Sat, 04 Jun 2022 05:54:58 -0400
Received: from lists.gnu.org ([209.51.188.17]:39846)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ioannis.kappas@HIDDEN>) id 1nxQUi-0000sA-LJ
 for submit <at> debbugs.gnu.org; Sat, 04 Jun 2022 05:54:57 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:46078)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ioannis.kappas@HIDDEN>)
 id 1nxQUi-0007gm-1r
 for bug-guix@HIDDEN; Sat, 04 Jun 2022 05:54:56 -0400
Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]:34504)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <ioannis.kappas@HIDDEN>)
 id 1nxQUg-0005YH-5Q
 for bug-guix@HIDDEN; Sat, 04 Jun 2022 05:54:55 -0400
Received: by mail-oi1-x229.google.com with SMTP id k187so13446428oif.1
 for <bug-guix@HIDDEN>; Sat, 04 Jun 2022 02:54:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:from:date:message-id:subject:to;
 bh=7TUs2whV46VNbNMLgE3Nl/f7lqCbY0Gl31ZfxwJkv5A=;
 b=NOWbUq1Y2pwZkyFqL2ZDGtBTBn5mtJV2Rtg6hubK8pbXthMyxMowTSjJ+WzJYv3oLS
 /e9NLMZD3abiYpmxVstUGGN+00v3azFyU2FA34l4hl8IQav7qk1qWzTFWrOvCNwyAB7Z
 Tipm78aibrYKLfaBy1oLBJ/tYWvbrdG8WF9JOvMtM/Et3s9fEZkA5vCl7MK102tz3kSv
 5nlaeZRffCFDpha1srJ70Y6IKKLPHMyb4wsDPiMN+xmtYPqAp9aLSVWfoFOqyIDQFIoA
 mI2xPyC/93GbXtBySmPUTYfDtd9u7SFhjNVyWsSAkX5OSSp/cLDYuoZKNTCkPbTyq9+i
 HP8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=7TUs2whV46VNbNMLgE3Nl/f7lqCbY0Gl31ZfxwJkv5A=;
 b=FBX7XlxIo6wthQ/72ihbt88c1uzrV7AAl8/6kVxLwI9vv78r55oFz1CoLRUcZavx5i
 lzw7Pe2wpD6k1dJGqWHGVXBH5agcPPn57wF8e7afpdx4PQCd1UAbzC6aCguNPRXbI9rg
 +xuTk2qyEUC7lXZPCu9L3HyeaKeyQgC6Se0RCJV3Ky+fV0ue4t+atRk+XohUY/YaYNIy
 d2D5ag2kv6sGpU7BzAyDYDjziVhQx3NzoXFfAGa+O5QzmlqDEaRKp1r8ORZpS2w6Bw0c
 Olw2aXN4KzH0i/qPWOrt5uDroKywg6ytwQuYGfI6SQMu5zpJy5e1Sdxf+4nrCvI3mnWD
 cNHw==
X-Gm-Message-State: AOAM532ftmNRP4nnoSAX4ls/9btF7AFXSXHH63EkbYfYcMH45xhyaPvq
 XeoCVKESSaBcoZefN9E96kl+Q4NothV+JOF9sRHHSA6YC2M=
X-Google-Smtp-Source: ABdhPJzfHvMNvPdlpKuWMZiJ1eBSmznkNakKiBALAWBvEGiyMr1eQwWND6x2wnBv4auDmER6Ek9/N4m+wD6b3AgPDNE=
X-Received: by 2002:a05:6808:2326:b0:32b:89:175b with SMTP id
 bn38-20020a056808232600b0032b0089175bmr24978938oib.178.1654336492433; Sat, 04
 Jun 2022 02:54:52 -0700 (PDT)
MIME-Version: 1.0
From: Ioannis Kappas <ioannis.kappas@HIDDEN>
Date: Sat, 4 Jun 2022 10:54:45 +0100
Message-ID: <CAMRHuGASi=iroEhfj1-fcrM465Di8DM=g--6+_v=6zt3AZZuYw@HIDDEN>
Subject: Issue with elfutils libdw pkg-config's inputs
To: bug-guix@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2607:f8b0:4864:20::229;
 envelope-from=ioannis.kappas@HIDDEN; helo=mail-oi1-x229.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

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")
-- 
2.34.0

Testing with gstreamer

$ pre-inst-env guix shell --check gstreamer pkg-config --pure
guix shell: checking the environment variables visible from shell '/bin/bash'...
guix shell: All is good!  The shell gets correct environment variables.

$ pkg-config --cflags libdw
-I/gnu/store/yvf3j3gd3321k9n1wd9ycfaz7blbp8v6-elfutils-0.183/include
-I/gnu/store/aggsb6j1svxp70xlll4rqnx5f2pzz794-xz-5.2.5/include
-I/gnu/store/3x3dl71d4xm6y4hjwq110hmfyfx0xc6j-zstd-1.5.0-lib/include
-I/gnu/store/yvf3j3gd3321k9n1wd9ycfaz7blbp8v6-elfutils-0.183/include
-I/gnu/store/8qv5kb2fgm4c3bf70zcg9l6hkf3qzpw9-zlib-1.2.11/include

Thanks




Acknowledgement sent to Ioannis Kappas <ioannis.kappas@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#55793; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 20 Jan 2024 12:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.