Subject: bug#27551: closed (Re: bug#27551: guile-cairo switch to Guile 2.2 breaks (gnu build svg))

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 02 Jul 2017 21:02:02 +0000

Your bug report

#27551: guile-cairo switch to Guile 2.2 breaks (gnu build svg)

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
27551: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27551
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#27551: guile-cairo switch to Guile 2.2 breaks (gnu build svg)
From: [email-masked] (Ludovic Courtès)
To: Leo Famulari <[email-masked]>
Cc: [email-masked]
Date: Sun, 02 Jul 2017 23:01:34 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Leo Famulari <[email-masked]> skribis:

> On Fri, Jun 30, 2017 at 05:21:08PM -0400, Ludovic Court�s wrote:
>> civodul pushed a commit to branch master
>> in repository guix.
>> 
>> commit e3ddb1e83296c10338d35bc687772242b2f5eac6
>> Author: Ludovic Courtès <[email-masked]>
>> Date:   Fri Jun 30 23:10:46 2017 +0200
>> 
>>     gnu: guile-cairo: Switch to Guile 2.2.
>>     
>>     This patch adjusts dependent packages accordingly.
>>     
>>     * gnu/packages/gtk.scm (guile-cairo)[inputs]: Switch to GUILE-2.2 and
>>     GUILE-LIB.
>>     (guile-rsvg)[inputs]: Likewise.
>>     (guile-present)[inputs]: Likewise.
>>     (guile-gnome)[inputs]: Likewise.
>>     * gnu/packages/plotutils.scm (guile-charting)[inputs]: Switch go
>>     GUILE-2.2.
>
> This commit introduced some problems with (gnu build svg), which
> prevents reconfiguring GuixSD:

[...]

> In ./gnu/build/svg.scm:
>   51: 0 [svg->png "/gnu/store/w893227m8wllganabxqx7sn2mgga8083-guix-artwork-6998d30-checkout/grub/GuixSD-fully-black-4-3.svg" ...]
>
> ./gnu/build/svg.scm:51:4: In procedure svg->png:
> ./gnu/build/svg.scm:51:4: In procedure module-lookup: Unbound variable: rsvg-handle-new-from-file
> builder for `/gnu/store/nldcbaghx031b799mq9bdh8l00hg4fz6-grub-image.png.drv' failed with exit code 1

Apologies for not noticing this earlier!

I fixed it in a single commit, 1b0f266e40aead09be95a984bd9c6cec3dff397e,
that reinstates the original commits and fixes the problem.  I
considered re-reverting the commits individually but that didn’t seem
very nice either.

The problem was that Guile-RSVG was switched to Guile 2.2 but
derivations are still built with Guile 2.0 by default.  Thus, the
derivation that creates “grub-image.png” would not find Guile-RSVG.

The fix I committed is to explicitly build this derivation with 2.2.

I agree with what you wrote: CI could in theory help avoid such
problems, but we lack the resources right now.  We’d also need to change
our workflow to commit to a staging branch and have a robot that
automatically merges branches that pass the tests.  Not trivial.

For now, reverting the changes promptly was the right thing to do, so
thanks for doing it.

Ludo’.

Subject: guile-cairo switch to Guile 2.2 breaks (gnu build svg)
From: Leo Famulari <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Sat, 1 Jul 2017 15:23:25 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Fri, Jun 30, 2017 at 05:21:08PM -0400, Ludovic Court�s wrote:
> civodul pushed a commit to branch master
> in repository guix.
> 
> commit e3ddb1e83296c10338d35bc687772242b2f5eac6
> Author: Ludovic Courtès <[email-masked]>
> Date:   Fri Jun 30 23:10:46 2017 +0200
> 
>     gnu: guile-cairo: Switch to Guile 2.2.
>     
>     This patch adjusts dependent packages accordingly.
>     
>     * gnu/packages/gtk.scm (guile-cairo)[inputs]: Switch to GUILE-2.2 and
>     GUILE-LIB.
>     (guile-rsvg)[inputs]: Likewise.
>     (guile-present)[inputs]: Likewise.
>     (guile-gnome)[inputs]: Likewise.
>     * gnu/packages/plotutils.scm (guile-charting)[inputs]: Switch go
>     GUILE-2.2.

This commit introduced some problems with (gnu build svg), which
prevents reconfiguring GuixSD:

------
The following derivations will be built:
   /gnu/store/sqwij2775lnlaal4jrv16hys5wjss5az-grub.cfg.drv
   /gnu/store/nldcbaghx031b799mq9bdh8l00hg4fz6-grub-image.png.drv
substitute: updating list of substitutes from 'https://4606.nsupdate.info'... 100.0%
substitute: updating list of substitutes from 'https://4606.nsupdate.info'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
;;; Failed to autoload rsvg-handle-new-from-file in (rsvg):
;;; ERROR: missing interface for module (rsvg)
Backtrace:
In ice-9/boot-9.scm:
 160: 9 [catch #t #<catch-closure 8c5e00> ...]
In unknown file:
   ?: 8 [apply-smob/1 #<catch-closure 8c5e00>]
In ice-9/boot-9.scm:
  66: 7 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 6 [eval # #]
In ice-9/boot-9.scm:
2412: 5 [save-module-excursion #<procedure 8e67c0 at ice-9/boot-9.scm:4084:3 ()>]
4089: 4 [#<procedure 8e67c0 at ice-9/boot-9.scm:4084:3 ()>]
1734: 3 [%start-stack load-stack #<procedure 8f6c60 at ice-9/boot-9.scm:4080:10 ()>]
1739: 2 [#<procedure 8f86c0 ()>]
In unknown file:
   ?: 1 [primitive-load "/gnu/store/l8bqrgb009s9806gqdwg4wwq97yff6y7-grub-image.png-builder"]
In ./gnu/build/svg.scm:
  51: 0 [svg->png "/gnu/store/w893227m8wllganabxqx7sn2mgga8083-guix-artwork-6998d30-checkout/grub/GuixSD-fully-black-4-3.svg" ...]

./gnu/build/svg.scm:51:4: In procedure svg->png:
./gnu/build/svg.scm:51:4: In procedure module-lookup: Unbound variable: rsvg-handle-new-from-file
builder for `/gnu/store/nldcbaghx031b799mq9bdh8l00hg4fz6-grub-image.png.drv' failed with exit code 1
cannot build derivation `/gnu/store/sqwij2775lnlaal4jrv16hys5wjss5az-grub.cfg.drv': 1 dependencies couldn't be built
guix system: error: build failed: build of `/gnu/store/sqwij2775lnlaal4jrv16hys5wjss5az-grub.cfg.drv' failed
------