GNU bug report logs - #18247
Cyclic dependencies in (gnu package *) modules

Previous Next

Package: guix;

Reported by: mhw <at> netris.org

Date: Mon, 11 Aug 2014 20:07:01 UTC

Severity: normal

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

Bug is archived. No further changes may be made.

Full log


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

From: mhw <at> netris.org
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 18247 <at> debbugs.gnu.org
Subject: Re: bug#18247: Cyclic dependencies in (gnu package *) modules
Date: Tue, 12 Aug 2014 03:31:44 -0400
I now understand the problem more clearly.

The problem arises when a package in module A inherits from a package in
module B, if there is a cycle in the use-module graph involving A and B.

In this case, (gnu packages base) contains packages that inherit gcc-4.8
from (gnu packages gcc).

Commit c5d837684359e3629c4ac96297a25d1165edcb39 creates cycles between
those two modules.  This fact is not immediately obvious because it only
adds an edge from (gnu packages texinfo) -> (gnu packages gettext).
Here's one such cycle, with ==> being the newly added edge:

  gcc -> texinfo ==> gettext -> xml -> gnome -> glib -> base -> gcc

When there exists a cycle involving two modules, the order in which they
are loaded cannot be assured, because of the way module loading is done
in Guile.

In the short term, it might help to move (gnu packages gcc) into
(gnu packages base), and more generally to avoid inheriting from
imported packages, at least among modules that are likely to be
involved in cycles, such as core modules.

       Mark




This bug report was last modified 10 years and 266 days ago.

Previous Next


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