GNU bug report logs - #60947
Two different derivations for ‘guix’ depending on whether grafts are enabled

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Thu, 19 Jan 2023 15:46:01 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60947 in the body.
You can then email your comments to 60947 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#60947; Package guix. (Thu, 19 Jan 2023 15:46:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludovic.courtes <at> inria.fr>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 19 Jan 2023 15:46:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludovic.courtes <at> inria.fr>
To: bug-guix <at> gnu.org
Subject: Two different derivations for ‘guix’
 depending on whether grafts are enabled
Date: Thu, 19 Jan 2023 16:45:23 +0100
[Message part 1 (text/plain, inline)]
We have a problem!  Depending on whether grafts are enabled, we end up
building one of two different derivations for ‘guix’ (“real”
derivations; none of them is a mere grafting derivation):

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 241  Jan 16 2023 00:26:44    (current)
  guix 5c92197
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 5c921977179489caef4a9e54ada6696fc86d2f0b
$ guix build guix -n
The following derivation would be built:
  /gnu/store/hfaffzsjia7x1rbwaryyygh01bskxvvx-guix-1.4.0-1.9fe5b49.drv
$ guix build guix -n --no-grafts
/gnu/store/zasc3k9cnk3l1kvi03a4wml33awg21gf-guix-1.4.0-1.9fe5b49
$ guix build guix -n --no-grafts -d
/gnu/store/lczdc4jl1yl7cf4mrzqw2b9wiwmc5pwb-guix-1.4.0-1.9fe5b49.drv
--8<---------------cut here---------------end--------------->8---

The difference between those two .drv is guile-gnutls-3.7.11.drv, which
themselves differ in their gnulib-2022-12-06-1.440b528.drv.  At the
bottom, the difference is:

[Message part 2 (text/x-patch, inline)]
diff -ubBr --show-c-function --label \#\<buffer\ j2pxhf1brqdav3hkzzdxzbl89d39w584-gnulib-2022-12-06-1.440b528-builder\> --label \#\<buffer\ 0ilayj9ir5rva5yapqz34wl8l4la83w8-gnulib-2022-12-06-1.440b528-builder\> /tmp/buffer-content-DQf9jh /tmp/buffer-content-xYoO4v
--- #<buffer j2pxhf1brqdav3hkzzdxzbl89d39w584-gnulib-2022-12-06-1.440b528-builder>
+++ #<buffer 0ilayj9ir5rva5yapqz34wl8l4la83w8-gnulib-2022-12-06-1.440b528-builder>
@@ -138,7 +138,7 @@
 			(find-ucd-files . names)
 			(map find-ucd-file names))
 		      (with-directory-excursion "lib"
-			(invoke "/gnu/store/p4piblscgrfrsc4sk4ln1vga2ncn502y-gcc-10.3.0/bin/gcc" "-O" "-Wall" "gen-uni-tables.c" "-Iunictype" "-o" "gen-uni-tables")
+			(invoke "/gnu/store/g8la8r45k1bc8yrgg6sw3rz930y0n3rl-gcc-10.3.0/bin/gcc" "-O" "-Wall" "gen-uni-tables.c" "-Iunictype" "-o" "gen-uni-tables")
 			(apply invoke "./gen-uni-tables"
 			       (append
 				(find-ucd-files "UnicodeData.txt" "PropList.txt" "DerivedCoreProperties.txt" "emoji/emoji-data.txt" "ArabicShaping.txt" "Scripts.txt" "Blocks.txt")

[Message part 3 (text/plain, inline)]
To be continued…

Ludo’.

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 19 Jan 2023 16:59:01 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludovic.courtes <at> inria.fr>:
bug acknowledged by developer. (Thu, 19 Jan 2023 16:59:01 GMT) Full text and rfc822 format available.

Message #10 received at 60947-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 60947-done <at> debbugs.gnu.org
Subject: Re: bug#60947: Two different derivations for ‘guix’ depending on whether grafts are enabled
Date: Thu, 19 Jan 2023 17:58:10 +0100
Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:

> We have a problem!  Depending on whether grafts are enabled, we end up
> building one of two different derivations for ‘guix’ (“real”
> derivations; none of them is a mere grafting derivation):
>
> $ guix describe
> Generation 241  Jan 16 2023 00:26:44    (current)
>   guix 5c92197
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 5c921977179489caef4a9e54ada6696fc86d2f0b
> $ guix build guix -n
> The following derivation would be built:
>   /gnu/store/hfaffzsjia7x1rbwaryyygh01bskxvvx-guix-1.4.0-1.9fe5b49.drv
> $ guix build guix -n --no-grafts
> /gnu/store/zasc3k9cnk3l1kvi03a4wml33awg21gf-guix-1.4.0-1.9fe5b49
> $ guix build guix -n --no-grafts -d
> /gnu/store/lczdc4jl1yl7cf4mrzqw2b9wiwmc5pwb-guix-1.4.0-1.9fe5b49.drv

Fixed in 88854b1a4e364263b0d3c0d1e87de1ce7da51d34!

Ludo'.




Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 30 Jan 2023 16:02:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#60947; Package guix. (Mon, 30 Jan 2023 16:05:01 GMT) Full text and rfc822 format available.

Message #15 received at 60947 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 60947 <at> debbugs.gnu.org
Subject: Re: bug#60947: Two different derivations for ‘guix’ depending on whether grafts are enabled
Date: Mon, 30 Jan 2023 17:04:30 +0100
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:

> We have a problem!  Depending on whether grafts are enabled, we end up
> building one of two different derivations for ‘guix’ (“real”
> derivations; none of them is a mere grafting derivation):

A similar situation:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 244	Jan 29 2023 23:24:35	(current)
  guix 4eccb27
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 4eccb27b4c74a9112cbbad722d85558e9565f20b
$ guix build ruby-nokogiri -d
/gnu/store/gfry2algsp4rw8mp9d75qlrns1radjar-ruby-nokogiri-1.13.10.drv
$ guix build ruby-nokogiri -d --no-grafts
/gnu/store/vdnp9ila1946dakcrs55x3iwjc781pbi-ruby-nokogiri-1.13.10.drv
--8<---------------cut here---------------end--------------->8---

This is causing a dozen of ‘ruby-’ package that ‘gnome-shell’ depends on
to be rebuilt locally, even though ‘guix weather gnome-shell’ says it’s
available.  Annoying!

Patch coming.

Ludo’.

[Message part 2 (text/x-patch, inline)]
--- #<buffer amy6awkzzb8spv8i5ns4m5izypjd0nhx-ruby-nokogiri-1.13.10-builder>
+++ #<buffer hiqgagwa3i407nyx3yndzlah835j8rgi-ruby-nokogiri-1.13.10-builder>
@@ -45,7 +45,7 @@
       (assoc-ref %outputs "out"))
     (ruby-build #:name "ruby-nokogiri-1.13.10" #:source "/gnu/store/82giwp6r123kky2fg6a0bkx7dyh0vp2h-nokogiri-1.13.10.gem" #:system "x86_64-linux" #:gem-flags
 		(list "--" "--use-system-libraries"
-		      (string-append "--with-xml2-include=" "/gnu/store/g3y6ifhm0751vgsxv90yipfw6mk189kj-libxml2-2.9.12" "/include/libxml2"))
+		      (string-append "--with-xml2-include=" "/gnu/store/7h3rl7awha559jj0r7ba66njh27sb8pq-libxml2-2.9.12" "/include/libxml2"))
 		#:test-target "test" #:tests? #f #:phases
 		(modify-phases %standard-phases
 		  (add-after


Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 30 Jan 2023 16:05:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#60947; Package guix. (Mon, 30 Jan 2023 16:20:01 GMT) Full text and rfc822 format available.

Message #20 received at 60947 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 60947 <at> debbugs.gnu.org
Subject: Re: bug#60947: Two different derivations for ‘guix’ depending on whether grafts are enabled
Date: Mon, 30 Jan 2023 17:19:07 +0100
Ludovic Courtès <ludo <at> gnu.org> skribis:

> --- #<buffer amy6awkzzb8spv8i5ns4m5izypjd0nhx-ruby-nokogiri-1.13.10-builder>
> +++ #<buffer hiqgagwa3i407nyx3yndzlah835j8rgi-ruby-nokogiri-1.13.10-builder>
> @@ -45,7 +45,7 @@
>        (assoc-ref %outputs "out"))
>      (ruby-build #:name "ruby-nokogiri-1.13.10" #:source "/gnu/store/82giwp6r123kky2fg6a0bkx7dyh0vp2h-nokogiri-1.13.10.gem" #:system "x86_64-linux" #:gem-flags
>  		(list "--" "--use-system-libraries"
> -		      (string-append "--with-xml2-include=" "/gnu/store/g3y6ifhm0751vgsxv90yipfw6mk189kj-libxml2-2.9.12" "/include/libxml2"))
> +		      (string-append "--with-xml2-include=" "/gnu/store/7h3rl7awha559jj0r7ba66njh27sb8pq-libxml2-2.9.12" "/include/libxml2"))
>  		#:test-target "test" #:tests? #f #:phases
>  		(modify-phases %standard-phases
>  		  (add-after

To be clear, what we have in source here is:

--8<---------------cut here---------------start------------->8---
(define-public ruby-nokogiri
  (package
    ;; …
    (arguments
     (list
      #:tests? #f
      #:gem-flags #~(list "--" "--use-system-libraries"
                          (string-append "--with-xml2-include="
                                         #$(this-package-input "libxml2")
                                         "/include/libxml2" ))))
    ;; …
    (license license:expat)))
--8<---------------cut here---------------end--------------->8---

… and it’s the #$(this-package-input "libxml2") bit that causes that
discrepancy.

Ludo’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Fri, 03 Feb 2023 15:29:01 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludovic.courtes <at> inria.fr>:
bug acknowledged by developer. (Fri, 03 Feb 2023 15:29:02 GMT) Full text and rfc822 format available.

Message #25 received at 60947-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: 61180-done <at> debbugs.gnu.org
Cc: 60947-done <at> debbugs.gnu.org
Subject: Re: bug#61180: [PATCH] build-system: Always pass #:graft? #f to
 'gexp->derivation'.
Date: Fri, 03 Feb 2023 16:28:20 +0100
Hi,

Ludovic Courtès <ludo <at> gnu.org> skribis:

> Fixes <https://issues.guix.gnu.org/60947>.
>
> Fixes a bug whereby packages referred via 'ungexp' in package arguments
> would be "double-grafted": 'gexp->derivation' would first replace those
> references by references to the grafted package, only to repeat the
> grafting process on the result.
>
> Build systems such as 'gnu', 'cmake', and 'pyproject' were already doing
> this.  Only the rest of them is affected.

Pushed as 25947bbc3217306742694304fa9b6499f0126c7a.  No more building
ruby-nokogiri building, comrades!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 04 Mar 2023 12:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 54 days ago.

Previous Next


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