From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: mhw@netris.org Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 11 Aug 2014 20:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 18247@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.140778760822639 (code B ref -1); Mon, 11 Aug 2014 20:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 11 Aug 2014 20:06:48 +0000 Received: from localhost ([127.0.0.1]:39703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGvrj-0005t3-1D for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:47 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34182) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGvrf-0005so-OK for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XGvrQ-0000Mn-RA for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:38 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37059) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGvrQ-0000Mj-O6 for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35857) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGvrJ-0006Bh-37 for bug-guix@gnu.org; Mon, 11 Aug 2014 16:06:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XGvrB-0000IR-KI for bug-guix@gnu.org; Mon, 11 Aug 2014 16:06:21 -0400 Received: from world.peace.net ([96.39.62.75]:46396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGvrB-0000FL-GT for bug-guix@gnu.org; Mon, 11 Aug 2014 16:06:13 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=jojen) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XGvqt-0004IQ-R0; Mon, 11 Aug 2014 16:05:56 -0400 From: mhw@netris.org Date: Mon, 11 Aug 2014 16:05:56 -0400 Message-ID: <87egwmbxln.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) I'm currently unable to compile guix from git, with error messages that suggest cyclic dependencies between the modules. I just computed the strongly connected components of the (gnu package *) modules. The non-trivial ones are listed below. There are three cycles of size 2: ((gnu packages emacs) (gnu packages version-control)) ((gnu packages flex) (gnu packages bison)) ((gnu packages python) (gnu packages zip)) And one large strongly-connected component containing 51 modules: ((gnu packages acl) (gnu packages gettext) (gnu packages xml) (gnu packages linux) (gnu packages gtk) (gnu packages xorg) (gnu packages gnupg) (gnu packages glib) (gnu packages base) (gnu packages texinfo) (gnu packages gcc) (gnu packages openldap) (gnu packages groff) (gnu packages netpbm) (gnu packages ghostscript) (gnu packages tcl) (gnu packages fontutils) (gnu packages cyrus-sasl) (gnu packages mit-krb5) (gnu packages curl) (gnu packages ssh) (gnu packages gsasl) (gnu packages shishi) (gnu packages gnutls) (gnu packages gl) (gnu packages pdf) (gnu packages lesstif) (gnu packages gnome) (gnu packages libcanberra) (gnu packages xiph) (gnu packages pulseaudio) (gnu packages web) (gnu packages docbook) (gnu packages avahi) (gnu packages algebra) (gnu packages mpi) (gnu packages valgrind) (gnu packages gdb) (gnu packages dejagnu) (gnu packages doxygen) (gnu packages graphviz) (gnu packages gd) (gnu packages gstreamer) (gnu packages iso-codes) (gnu packages rrdtool) (gnu packages maths) (gnu packages texlive) (gnu packages tcsh) (gnu packages lisp) (gnu packages fltk) (gnu packages attr)) Mark From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: mhw@netris.org Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 11 Aug 2014 20:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140779018826803 (code B ref 18247); Mon, 11 Aug 2014 20:50:02 +0000 Received: (at 18247) by debbugs.gnu.org; 11 Aug 2014 20:49:48 +0000 Received: from localhost ([127.0.0.1]:39714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGwXL-0006yF-7f for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:49:47 -0400 Received: from world.peace.net ([96.39.62.75]:41721 ident=hope0) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGwXH-0006y5-HB for 18247@debbugs.gnu.org; Mon, 11 Aug 2014 16:49:44 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=jojen) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XGwX8-0004R4-WA; Mon, 11 Aug 2014 16:49:35 -0400 From: mhw@netris.org References: <87egwmbxln.fsf@netris.org> Date: Mon, 11 Aug 2014 16:49:36 -0400 In-Reply-To: <87egwmbxln.fsf@netris.org> (mhw@netris.org's message of "Mon, 11 Aug 2014 16:05:56 -0400") Message-ID: <87a97abvkv.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain I hacked up the following Guile script to automatically find cyclic dependencies in (gnu packages *). It must be run from Guix's top-level source directory. Mark --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=find-cycles.scm Content-Description: Script to find cyclic dependencies in guix package modules (use-modules (srfi srfi-1) (srfi srfi-26) (ice-9 match) (ice-9 ftw) (ice-9 pretty-print)) ;;; ;;; Tarjan's strongly connected components algorithm ;;; ;;; Robert Tarjan, Depth-first search and linear graph algorithms. ;;; SIAM Journal on Computing, 1(2):146-160, 1972. ;;; ;;; ;;; vertices is the list of vertices, which may be any objects that ;;; can be distinguished using 'equal?'. ;;; ;;; edges is the list of edges, where each edge is a pair (w . v) ;;; representing the directed edge w => v, for vertices w and v. ;;; ;;; The return value is a list of the strongly-connected components, ;;; where each strongly-connected component (SCC) is represented as a ;;; list of the vertices it contains. The returned SCCs are sorted in ;;; topological order. ;;; (define (strongly-connected-components vertices edges) (define size (length vertices)) (define vs (iota size)) (define lookup (let ((t (make-hash-table size))) (for-each (cut hash-set! t <> <>) vertices vs) (cut hash-ref t <>))) (define name (let ((t (make-vector size #f))) (for-each (cut vector-set! t <> <>) vs vertices) (cut vector-ref t <>))) (define (vector-update! v i f) (vector-set! v i (f (vector-ref v i)))) (define (compose f g) (lambda (x) (f (g x)))) (define successors (let ((t (make-vector size '()))) (for-each (lambda (v w) (vector-update! t v (cut cons w <>))) (map (compose lookup car) edges) (map (compose lookup cdr) edges)) (cut vector-ref t <>))) (define new-index (let ((i -1)) (lambda () (set! i (+ i 1)) i))) (define index-table (make-vector size #f)) (define index (cut vector-ref index-table <>)) (define set-index! (cut vector-set! index-table <> <>)) (define lowlink-table (make-vector size size)) (define lowlink (cut vector-ref lowlink-table <>)) (define (update-lowlink! v x) (if v (vector-update! lowlink-table v (cut min x <>)))) (define done-table (make-bitvector size #f)) (define done? (cut bitvector-ref done-table <>)) (define done! (cut bitvector-set! done-table <> #t)) (define results '()) (define pending '()) (define (finalize! v) (let loop ((names '()) (p pending)) (done! (car p)) (cond ((eqv? v (car p)) (set! pending (cdr p)) (set! results (cons (cons (name v) names) results))) (else (loop (cons (name (car p)) names) (cdr p)))))) (let loop ((v #f) (ws vs) (stack '())) (cond ((pair? ws) (let ((w (car ws))) (cond ((index w) => (lambda (wi) (if (not (done? w)) (update-lowlink! v wi)) (loop v (cdr ws) stack))) (else (let ((wi (new-index))) (set-index! w wi) (update-lowlink! w wi) (set! pending (cons w pending)) (loop w (successors w) (cons (cons v (cdr ws)) stack))))))) ((pair? stack) (if (and v (= (index v) (lowlink v))) (finalize! v)) (update-lowlink! (caar stack) (lowlink v)) (loop (caar stack) (cdar stack) (cdr stack))) (else results)))) (chdir "gnu/packages") (define files (scandir "." (cut string-suffix? ".scm" <>))) (define headers (map (cut call-with-input-file <> read) files)) (define modules (filter-map (lambda (header) (match header (('define-module ('gnu 'packages name0 name* ...) . _) `(gnu packages ,name0 ,@name*)) (('define-module module-name . _) (format (current-warning-port) "Warning: found unexpected module name ~S in gnu/packages/*.scm~%" module-name) #f))) headers)) (define dependencies (append-map (lambda (header) (match header (('define-module module . rest) (let loop ((rest rest) (deps '())) (match rest (() deps) ((#:use-module ('gnu 'packages name0 name* ...) . rest) (loop rest `((,module . (gnu packages ,name0 ,@name*)) . ,deps))) ((#:use-module (('gnu 'packagess name0 name* ...) . _) . rest) (loop rest `((,module . (gnu packages ,name0 ,@name*)) . ,deps))) ((#:use-module _ . rest) (loop rest deps)) ((#:export _ . rest) (loop rest deps)) ((#:autoload _ _ . rest) (loop rest deps))))))) headers)) (define sccs (strongly-connected-components modules dependencies)) (define (non-trivial? scc) (not (= 1 (length scc)))) (define non-trivial-sccs (filter non-trivial? sccs)) (unless (zero? (length non-trivial-sccs)) (display "Found the following non-trivial strongly-connected components:") (newline) (for-each (lambda (scc) (pretty-print scc) (newline)) non-trivial-sccs)) --=-=-=-- From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 11 Aug 2014 21:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: mhw@netris.org Cc: 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140779127628602 (code B ref 18247); Mon, 11 Aug 2014 21:08:02 +0000 Received: (at 18247) by debbugs.gnu.org; 11 Aug 2014 21:07:56 +0000 Received: from localhost ([127.0.0.1]:39723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGwou-0007RG-DH for submit@debbugs.gnu.org; Mon, 11 Aug 2014 17:07:56 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:33440) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGwor-0007R6-Ct for 18247@debbugs.gnu.org; Mon, 11 Aug 2014 17:07:54 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id EBB0037B8; Mon, 11 Aug 2014 23:07:51 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EODU9DImNph8; Mon, 11 Aug 2014 23:07:51 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 99A6C3666; Mon, 11 Aug 2014 23:07:51 +0200 (CEST) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87egwmbxln.fsf@netris.org> Date: Mon, 11 Aug 2014 23:07:50 +0200 In-Reply-To: <87egwmbxln.fsf@netris.org> (mhw@netris.org's message of "Mon, 11 Aug 2014 16:05:56 -0400") Message-ID: <87d2c6razd.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) mhw@netris.org skribis: > I'm currently unable to compile guix from git, with error messages that > suggest cyclic dependencies between the modules. Indeed. That is fixed by reverting c5d8376. Can you confirm? > I just computed the strongly connected components of the (gnu package > *) modules. The non-trivial ones are listed below. > > There are three cycles of size 2: > > ((gnu packages emacs) (gnu packages version-control)) > ((gnu packages flex) (gnu packages bison)) > ((gnu packages python) (gnu packages zip)) > > And one large strongly-connected component containing 51 modules: Ouch. Well, that is not really a problem per se. The real problem is when top-level bindings refer to each other, of course. But anyway, I agree we need tooling or something to help deal with this kind of issues. Perhaps something like the script you posted, but that would look at the set of bindings referenced from the top-level of a module? Or can we do better? If Guile supported phases, such circular references would not be a problem since it would not have to evaluate all of the imported modules at expansion phase, just the =E2=80=98define-module=E2=80=99 clause. Thanks, Ludo=E2=80=99. From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 Aug 2014 00:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Cc: 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140780164113052 (code B ref 18247); Tue, 12 Aug 2014 00:01:02 +0000 Received: (at 18247) by debbugs.gnu.org; 12 Aug 2014 00:00:41 +0000 Received: from localhost ([127.0.0.1]:39783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGzW3-0003OQ-9J for submit@debbugs.gnu.org; Mon, 11 Aug 2014 20:00:40 -0400 Received: from world.peace.net ([96.39.62.75]:42040 ident=hope4) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGzVz-0003OG-Vx for 18247@debbugs.gnu.org; Mon, 11 Aug 2014 20:00:37 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=yeeloong.lan) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XGzVs-0004vQ-1q; Mon, 11 Aug 2014 20:00:28 -0400 From: Mark H Weaver References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> Date: Mon, 11 Aug 2014 19:59:37 -0400 In-Reply-To: <87d2c6razd.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 11 Aug 2014 23:07:50 +0200") Message-ID: <87y4uupogm.fsf@yeeloong.lan> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) ludo@gnu.org (Ludovic Court=C3=A8s) writes: > mhw@netris.org skribis: > >> I'm currently unable to compile guix from git, with error messages that >> suggest cyclic dependencies between the modules. > > Indeed. That is fixed by reverting c5d8376. Can you confirm? Yes, that solves the problem for me. >> I just computed the strongly connected components of the (gnu package >> *) modules. The non-trivial ones are listed below. >> >> There are three cycles of size 2: >> >> ((gnu packages emacs) (gnu packages version-control)) >> ((gnu packages flex) (gnu packages bison)) >> ((gnu packages python) (gnu packages zip)) >> >> And one large strongly-connected component containing 51 modules: > > Ouch. > > Well, that is not really a problem per se. The real problem is when > top-level bindings refer to each other, of course. To be more precise, the relevant question is: which bindings from other modules are needed when a module is _loaded_. In other words, we need to worry about cycles in a graph, but a different graph than the one my script computed. I think the graph we need to consider is one that contains one vertex per module, and an directed edge from module A to B if and only if loading module A requires looking up a binding from module B. Does that sound right to you? Unfortunately, it seems to me that the most common kinds of cross-module references between (gnu packages *) modules are references in 'inputs' or 'native-inputs' fields, and those need to be looked up at module load time, right? > But anyway, I agree we need tooling or something to help deal with this > kind of issues. Perhaps something like the script you posted, but that > would look at the set of bindings referenced from the top-level of a > module? Or can we do better? > > If Guile supported phases, such circular references would not be a > problem since it would not have to evaluate all of the imported modules > at expansion phase, just the =E2=80=98define-module=E2=80=99 clause. I'd very much like to add phases to Guile's macro expander at some point, but it would have to be done between major releases. It would likely break a lot of existing code. Thanks, Mark From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: mhw@netris.org Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 Aug 2014 03:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Cc: 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.14078141535365 (code B ref 18247); Tue, 12 Aug 2014 03:30:02 +0000 Received: (at 18247) by debbugs.gnu.org; 12 Aug 2014 03:29:13 +0000 Received: from localhost ([127.0.0.1]:39835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XH2ls-0001OS-Mr for submit@debbugs.gnu.org; Mon, 11 Aug 2014 23:29:12 -0400 Received: from world.peace.net ([96.39.62.75]:42223 ident=hope3) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XH2lm-0001OD-V9 for 18247@debbugs.gnu.org; Mon, 11 Aug 2014 23:29:11 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=jojen) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XH2lg-0005Tz-D7; Mon, 11 Aug 2014 23:29:00 -0400 From: mhw@netris.org References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> Date: Mon, 11 Aug 2014 23:28:58 -0400 In-Reply-To: <87y4uupogm.fsf@yeeloong.lan> (Mark H. Weaver's message of "Mon, 11 Aug 2014 19:59:37 -0400") Message-ID: <8761hybd39.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) I wrote: > Unfortunately, it seems to me that the most common kinds of cross-module > references between (gnu packages *) modules are references in 'inputs' > or 'native-inputs' fields, and those need to be looked up at module load > time, right? I see now that 'inputs' and 'native-inputs' are "thunked" fields, so the bindings don't have to be looked up until those fields are accessed at run time. Mark From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: mhw@netris.org Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 Aug 2014 07:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Cc: 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140782872421386 (code B ref 18247); Tue, 12 Aug 2014 07:33:01 +0000 Received: (at 18247) by debbugs.gnu.org; 12 Aug 2014 07:32:04 +0000 Received: from localhost ([127.0.0.1]:40035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XH6Ys-0005Yp-Vn for submit@debbugs.gnu.org; Tue, 12 Aug 2014 03:32:03 -0400 Received: from world.peace.net ([96.39.62.75]:42336 ident=hope1) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XH6Yj-0005YC-RF for 18247@debbugs.gnu.org; Tue, 12 Aug 2014 03:32:01 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=jojen) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XH6Ya-0005px-Pr; Tue, 12 Aug 2014 03:31:44 -0400 From: mhw@netris.org References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> Date: Tue, 12 Aug 2014 03:31:44 -0400 In-Reply-To: <8761hybd39.fsf@netris.org> (mhw@netris.org's message of "Mon, 11 Aug 2014 23:28:58 -0400") Message-ID: <87oavq9na7.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) 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 From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 Aug 2014 11:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mark H Weaver Cc: 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.14078415459489 (code B ref 18247); Tue, 12 Aug 2014 11:06:01 +0000 Received: (at 18247) by debbugs.gnu.org; 12 Aug 2014 11:05:45 +0000 Received: from localhost ([127.0.0.1]:40159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XH9th-0002Sz-5S for submit@debbugs.gnu.org; Tue, 12 Aug 2014 07:05:45 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:33981) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XH9tc-0002So-Ni for 18247@debbugs.gnu.org; Tue, 12 Aug 2014 07:05:42 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 41239378E; Tue, 12 Aug 2014 13:05:38 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DpvxM1rvS8az; Tue, 12 Aug 2014 13:05:38 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id DD18B1365; Tue, 12 Aug 2014 13:05:37 +0200 (CEST) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Thermidor an 222 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Tue, 12 Aug 2014 13:05:37 +0200 In-Reply-To: <87y4uupogm.fsf@yeeloong.lan> (Mark H. Weaver's message of "Mon, 11 Aug 2014 19:59:37 -0400") Message-ID: <87egwmotmm.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mark H Weaver skribis: > I think the graph we need to consider is one that contains one vertex > per module, and an directed edge from module A to B if and only if > loading module A requires looking up a binding from module B. > > Does that sound right to you? Yes, exactly. Ludo=E2=80=99. From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 Aug 2014 13:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: mhw@netris.org Cc: Eric Bavier , 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140785170730604 (code B ref 18247); Tue, 12 Aug 2014 13:56:01 +0000 Received: (at 18247) by debbugs.gnu.org; 12 Aug 2014 13:55:07 +0000 Received: from localhost ([127.0.0.1]:40254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHCXa-0007xW-Aj for submit@debbugs.gnu.org; Tue, 12 Aug 2014 09:55:06 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:34105) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHCXV-0007ws-6r for 18247@debbugs.gnu.org; Tue, 12 Aug 2014 09:55:03 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id C184537C0; Tue, 12 Aug 2014 15:54:59 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ns2Cjuz+DDko; Tue, 12 Aug 2014 15:54:59 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 5C3C53791; Tue, 12 Aug 2014 15:54:59 +0200 (CEST) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Thermidor an 222 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Tue, 12 Aug 2014 15:54:58 +0200 In-Reply-To: <87oavq9na7.fsf@netris.org> (mhw@netris.org's message of "Tue, 12 Aug 2014 03:31:44 -0400") Message-ID: <87fvh1lsnh.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) As a stop-gap measure, I=E2=80=99ve worked around the problem in commit d75= 9cf6, which removes the dependency from texinfo to gettext. (=C3=89ric: I see one test failure in texi2html, which is a priori unrelated to the change. Could you check what=E2=80=99s going on?) mhw@netris.org skribis: > 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. Merging modules is not really satisfactory either. :-/ Perhaps one possibility would be to reorganize base.scm so that %final-inputs and things it depends on are thunked. Another possibility, probably better, would be to split base into two modules: one that exports the normal package definitions (the first page of base.scm, in terms of C-x n p), and one that exports %final-inputs and related stuff (the second page). Normally the latter will not have to be used directly, except by (guix build-system gnu) and related stuff. WDYT? Thanks, Ludo=E2=80=99. From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: Eric Bavier Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 Aug 2014 20:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: mhw@netris.org, 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140787668710588 (code B ref 18247); Tue, 12 Aug 2014 20:52:02 +0000 Received: (at 18247) by debbugs.gnu.org; 12 Aug 2014 20:51:27 +0000 Received: from localhost ([127.0.0.1]:41131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHJ2U-0002kh-L4 for submit@debbugs.gnu.org; Tue, 12 Aug 2014 16:51:27 -0400 Received: from mail-ig0-f174.google.com ([209.85.213.174]:34146) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHJ2S-0002kR-2w for 18247@debbugs.gnu.org; Tue, 12 Aug 2014 16:51:24 -0400 Received: by mail-ig0-f174.google.com with SMTP id c1so8105192igq.13 for <18247@debbugs.gnu.org>; Tue, 12 Aug 2014 13:51:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:user-agent:in-reply-to:date :message-id:mime-version:content-type:content-transfer-encoding; bh=fe/Up+Q8QurJihzXDDGwoMhs7S5nx/Dfatszvmrhx98=; b=qZU1r4tBPtHqxnzn0/O8dR+L8Uqf4B4oxEOkHKDwXw1VczWrmO87NFgt7Pzy1g4AAt PpleXAuShdIlHEcQjTjDmIFSafqdIU6Q4RzUScaWQXVrxkFtbGq75sGSSx/9/JwxLG3b wCtiCV19DvxW0q3cQ1VMZAlhkAW9z3KW3XLYYcmpSj4LM6qZaK9PL8kyl3s0QVvGuy09 81uP8R4vxJnZhzwP2URMRQ/clMevC5KrmaT9LRHLLPAIhZKf3CZwib4+bTBbN8ht3R4h wL4wI8pIcKL98FFAGolRrivAGK8UbJJOA4N1JjvAHlMA7QkxGgYblKWLJiqeO65IYSTA YZAw== X-Received: by 10.42.62.6 with SMTP id w6mr1491697ich.24.1407876678368; Tue, 12 Aug 2014 13:51:18 -0700 (PDT) Received: from cooper.gmail.com (chippewa-nat.cray.com. [136.162.34.1]) by mx.google.com with ESMTPSA id w10sm64823236igr.18.2014.08.12.13.51.17 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 12 Aug 2014 13:51:17 -0700 (PDT) From: Eric Bavier References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> <87fvh1lsnh.fsf@gnu.org> User-agent: mu4e 0.9.9.5; emacs 23.3.1 In-reply-to: <87fvh1lsnh.fsf@gnu.org> Date: Tue, 12 Aug 2014 15:53:15 -0500 Message-ID: <87sil1e8g4.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Ludovic Courtès writes: > As a stop-gap measure, I’ve worked around the problem in commit d759cf6, > which removes the dependency from texinfo to gettext. > > (Éric: I see one test failure in texi2html, which is a priori unrelated > to the change. Could you check what’s going on?) The problem is that texi2html does actually require gettext. Its makefile wants to install mo files that are not present in the distribution (so msgfmt is required). Configuring with --disable-nls causes the resulting script to fail at runtime. Perhaps moving texi2html into its own module would solve the circular dependency? -- Eric Bavier From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 13 Aug 2014 18:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Eric Bavier Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140795618522430 (code B ref 18247); Wed, 13 Aug 2014 18:57:01 +0000 Received: (at 18247) by debbugs.gnu.org; 13 Aug 2014 18:56:25 +0000 Received: from localhost ([127.0.0.1]:42237 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHdij-0005ph-5C for submit@debbugs.gnu.org; Wed, 13 Aug 2014 14:56:25 -0400 Received: from world.peace.net ([96.39.62.75]:44269 ident=hope9) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHdig-0005pZ-SR for 18247@debbugs.gnu.org; Wed, 13 Aug 2014 14:56:23 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=yeeloong.lan) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XHdia-0004oT-5m; Wed, 13 Aug 2014 14:56:16 -0400 From: Mark H Weaver References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> <87fvh1lsnh.fsf@gnu.org> <87sil1e8g4.fsf@gmail.com> Date: Wed, 13 Aug 2014 14:55:21 -0400 In-Reply-To: <87sil1e8g4.fsf@gmail.com> (Eric Bavier's message of "Tue, 12 Aug 2014 15:53:15 -0500") Message-ID: <878umste1y.fsf@yeeloong.lan> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Eric Bavier writes: > Ludovic Court=C3=A8s writes: > >> As a stop-gap measure, I=E2=80=99ve worked around the problem in commit = d759cf6, >> which removes the dependency from texinfo to gettext. >> >> (=C3=89ric: I see one test failure in texi2html, which is a priori unrel= ated >> to the change. Could you check what=E2=80=99s going on?) > > The problem is that texi2html does actually require gettext. Its > makefile wants to install mo files that are not present in the > distribution (so msgfmt is required). Configuring with --disable-nls > causes the resulting script to fail at runtime. > > Perhaps moving texi2html into its own module would solve the circular > dependency? That would be one way to avoid the circular dependency, yes. Mark From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 13 Aug 2014 22:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Eric Bavier Cc: mhw@netris.org, 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.14079678009939 (code B ref 18247); Wed, 13 Aug 2014 22:10:02 +0000 Received: (at 18247) by debbugs.gnu.org; 13 Aug 2014 22:10:00 +0000 Received: from localhost ([127.0.0.1]:42433 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHgk3-0002aE-OF for submit@debbugs.gnu.org; Wed, 13 Aug 2014 18:09:59 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:35561) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XHgk0-0002a2-JC for 18247@debbugs.gnu.org; Wed, 13 Aug 2014 18:09:57 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 19B3D3769; Thu, 14 Aug 2014 00:09:55 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Th1MihkEChPD; Thu, 14 Aug 2014 00:09:55 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by hera.aquilenet.fr (Postfix) with ESMTPSA id AA821D56; Thu, 14 Aug 2014 00:09:54 +0200 (CEST) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> <87fvh1lsnh.fsf@gnu.org> <87sil1e8g4.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 27 Thermidor an 222 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 14 Aug 2014 00:09:53 +0200 In-Reply-To: <87sil1e8g4.fsf@gmail.com> (Eric Bavier's message of "Tue, 12 Aug 2014 15:53:15 -0500") Message-ID: <87sil011ou.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Eric Bavier skribis: > Ludovic Court=C3=A8s writes: > >> As a stop-gap measure, I=E2=80=99ve worked around the problem in commit = d759cf6, >> which removes the dependency from texinfo to gettext. >> >> (=C3=89ric: I see one test failure in texi2html, which is a priori unrel= ated >> to the change. Could you check what=E2=80=99s going on?) > > The problem is that texi2html does actually require gettext. No, it really only needed it because texi2html.pl was modified by the patch, which triggered a rule to re-compute PO files. I just tried with current master with #:tests? #f, and it does pass. Perhaps that=E2=80=99s an intermittent test failure? Can you reproduce it? Thanks, Ludo=E2=80=99. From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: Eric Bavier Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 16 Aug 2014 06:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: mhw@netris.org, Eric Bavier , 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140816890132102 (code B ref 18247); Sat, 16 Aug 2014 06:02:02 +0000 Received: (at 18247) by debbugs.gnu.org; 16 Aug 2014 06:01:41 +0000 Received: from localhost ([127.0.0.1]:44250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XIX3c-0008Lh-3A for submit@debbugs.gnu.org; Sat, 16 Aug 2014 02:01:40 -0400 Received: from mail-ig0-f175.google.com ([209.85.213.175]:58570) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XIX3Y-0008LR-Nf for 18247@debbugs.gnu.org; Sat, 16 Aug 2014 02:01:37 -0400 Received: by mail-ig0-f175.google.com with SMTP id uq10so3827742igb.8 for <18247@debbugs.gnu.org>; Fri, 15 Aug 2014 23:01:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:user-agent:in-reply-to:date :message-id:mime-version:content-type; bh=fC3Bmyu6OWOfBDia3Az4MRP9XjBv83r4GdalwvF8Z3E=; b=i3P7PoQzWeD54BWADPhOd5agfLrPgV5L1yqZL2ZgrmcHZZcB7d7pG2UUeu6UZYTVy1 R8oVxBgUvVkQHncxfeEIR9SHQIHli+hDDTtCXSVBOM6r/pFxOj50j8a04Q33BQcYOxC9 VLftdJ2EqgaTLukgU/i1OEjzcNX+y8HN0x9G6NMlR6+V1w9nIcqRrM+kpx12HAJjy+K3 aME4F/np1bXmCGhaj55uuYZYqEYe0EFBun6bcwSC3AjAoxs1lHIASUeZRuNluSi4ZS2H sgFDOyIaEwtShprn6DQ5MM/R5b6GJBQgjV9ozcvX9orBVdVt2XZHz9r0bQXAHl4IVylo Zbgw== X-Received: by 10.42.247.80 with SMTP id mb16mr24880432icb.38.1408168890771; Fri, 15 Aug 2014 23:01:30 -0700 (PDT) Received: from cooper.gmail.com (75-168-136-57.mpls.qwest.net. [75.168.136.57]) by mx.google.com with ESMTPSA id nn13sm16207957igb.7.2014.08.15.23.01.29 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 15 Aug 2014 23:01:29 -0700 (PDT) From: Eric Bavier References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> <87fvh1lsnh.fsf@gnu.org> <87sil1e8g4.fsf@gmail.com> <87sil011ou.fsf@gnu.org> User-agent: mu4e 0.9.9.5; emacs 23.3.1 In-reply-to: <87sil011ou.fsf@gnu.org> Date: Sat, 16 Aug 2014 01:00:30 -0500 Message-ID: <87lhqpdldt.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Ludovic Courtès writes: > Eric Bavier skribis: > >> Ludovic Courtès writes: >> >>> As a stop-gap measure, I’ve worked around the problem in commit d759cf6, >>> which removes the dependency from texinfo to gettext. >>> >>> (Éric: I see one test failure in texi2html, which is a priori unrelated >>> to the change. Could you check what’s going on?) >> >> The problem is that texi2html does actually require gettext. > > No, it really only needed it because texi2html.pl was modified by the > patch, which triggered a rule to re-compute PO files. After reseting the timestamp, the makefile still wants to run msgexec for some reason. This doesn't appear to be fatal... > I just tried with current master with #:tests? #f, and it does pass. Yes, with #:tests? #f it builds succesfully; I did not try that. It appears the resulting texi2html tool is even functional:: $ /gnu/store/...-texi2html/bin/texi2html doc/guix.texi $ echo $? 0a > Perhaps that’s an intermittent test failure? Can you reproduce it? The test failures are reproducible on my end. The attached patch allows the tests to run successfully. Let me know if this seems like a reasonable solution. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-texi2html-Fix-tests-in-the-absense-of-gettext.patch >From e0f0ff27fce4e5b62105ffd28281a78552c1dc39 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 16 Aug 2014 00:56:42 -0500 Subject: [PATCH] gnu: texi2html: Fix tests in the absense of gettext. * gnu/packages/patches/texi2html-i18n.patch: New patch. * gnu/packages/texinfo.scm (texi2html)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/patches/texi2html-i18n.patch | 50 +++++++++++++++++++++++++++++ gnu/packages/texinfo.scm | 3 +- 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/texi2html-i18n.patch diff --git a/gnu-system.am b/gnu-system.am index 66a1677..f29f3f6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -378,6 +378,7 @@ dist_patch_DATA = \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ gnu/packages/patches/texi2html-document-encoding.patch \ + gnu/packages/patches/texi2html-i18n.patch \ gnu/packages/patches/udev-gir-libtool.patch \ gnu/packages/patches/util-linux-perl.patch \ gnu/packages/patches/valgrind-glibc.patch \ diff --git a/gnu/packages/patches/texi2html-i18n.patch b/gnu/packages/patches/texi2html-i18n.patch new file mode 100644 index 0000000..eba903d --- /dev/null +++ b/gnu/packages/patches/texi2html-i18n.patch @@ -0,0 +1,50 @@ +Do not try to regenerate po files; use the reference files that are packaged +in the tarball. + +--- a/Makefile.in 2010-06-30 17:02:28.000000000 -0500 ++++ b/Makefile.in 2014-08-16 00:22:38.447050269 -0500 +@@ -1022,15 +1022,7 @@ + + i18n/en.thl i18n/: $(po_document_dir)/po_document/$(PACKAGE)_document.pot + $(MKDIR_P) i18n +- if test '$(USE_NLS)' = 'yes'; then \ +- for file in "$(srcdir)/$(po_document_dir)/po_document/"*".po"; do lang=`basename "$$file" .po | sed 's/\..*//'`; \ +- test "$$lang" = 'en' && continue; \ +- msgexec -i "$$file" "$(srcdir)/gettext_to_separated.pl" | "$(srcdir)/separated_to_hash.pl" $$lang > i18n/$$lang.thl; \ +- done; \ +- msgexec -i $< "$(srcdir)/gettext_to_separated.pl" | "$(srcdir)/separated_to_hash.pl" en > i18n/en.thl; \ +- else \ +- cp -p i18n_ref/*.thl i18n; \ +- fi ++ cp -p i18n_ref/*.thl i18n + + i18n_ref: + $(MKDIR_P) i18n_ref + +Have install-sh install .mo files locally for in-source tests, so that msgfmt +is not needed. + +--- a/Makefile.in 2010-06-30 17:02:28.000000000 -0500 ++++ b/Makefile.in 2014-08-16 00:22:38.447050269 -0500 +@@ -1052,19 +1044,8 @@ + # update the po files, and install locally the .mo files for the in + # source tests + check-local: makeinfo.pl texi2any.pl +- if test '$(USE_NLS)' = 'yes'; then \ +- cd $(po_document_dir)/po_document && $(MAKE) $(AM_MAKEFLAGS) update-po; \ +- fi +- rm -rf locales +- for file in "$(srcdir)/$(po_document_dir)/po_document/"*.po; do \ +- basename=`basename "$$file" .po` ; \ +- $(MKDIR_P) "locales/$$basename/LC_MESSAGES/" ; \ +- if test '$(USE_NLS)' = 'yes'; then \ +- $(MSGFMT) "$$file" -o "locales/$$basename/LC_MESSAGES/texi2html_document.mo" ; \ +- else \ +- cp -p "$(srcdir)/$(po_document_dir)/po_document/$$basename.mo" "locales/$$basename/LC_MESSAGES/texi2html_document.mo" ; \ +- fi; \ +- done ++ $(MAKE) -C po_document localedir="$(abs_srcdir)/locales" install-data ++ $(MAKE) -C po_messages localedir="$(abs_srcdir)/locales" install-data + + makeinfo.pl texi2any.pl: + -$(LN_S) $(srcdir)/texi2html.pl $@ diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index c199fd6..0cce38b 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -79,7 +79,8 @@ is on expressing the content semantically, avoiding physical markup commands.") (base32 "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8")) (patches - (list (search-patch "texi2html-document-encoding.patch"))) + (list (search-patch "texi2html-document-encoding.patch") + (search-patch "texi2html-i18n.patch"))) (snippet ;; This file is modified by the patch above, but reset its ;; timestamp so we don't trigger the rule to update PO files, -- 1.7.9.5 --=-=-= -- Eric Bavier --=-=-=-- From unknown Tue Jun 17 01:46:28 2025 X-Loop: help-debbugs@gnu.org Subject: bug#18247: Cyclic dependencies in (gnu package *) modules Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 16 Aug 2014 09:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18247 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Eric Bavier Cc: mhw@netris.org, 18247@debbugs.gnu.org Received: via spool by 18247-submit@debbugs.gnu.org id=B18247.140818027918372 (code B ref 18247); Sat, 16 Aug 2014 09:12:01 +0000 Received: (at 18247) by debbugs.gnu.org; 16 Aug 2014 09:11:19 +0000 Received: from localhost ([127.0.0.1]:44337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XIa18-0004mF-6Y for submit@debbugs.gnu.org; Sat, 16 Aug 2014 05:11:18 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:37901) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XIa14-0004m2-Qv for 18247@debbugs.gnu.org; Sat, 16 Aug 2014 05:11:15 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 4FB4D3684; Sat, 16 Aug 2014 11:11:13 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KNZ8USyhLO47; Sat, 16 Aug 2014 11:11:13 +0200 (CEST) Received: from pluto (unknown [IPv6:2001:4ca0:0:f200:224:d7ff:fee1:8690]) by hera.aquilenet.fr (Postfix) with ESMTPSA id E8D8C3532; Sat, 16 Aug 2014 11:11:12 +0200 (CEST) From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> <87fvh1lsnh.fsf@gnu.org> <87sil1e8g4.fsf@gmail.com> <87sil011ou.fsf@gnu.org> <87lhqpdldt.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 Thermidor an 222 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Sat, 16 Aug 2014 11:11:12 +0200 In-Reply-To: <87lhqpdldt.fsf@gmail.com> (Eric Bavier's message of "Sat, 16 Aug 2014 01:00:30 -0500") Message-ID: <87a974pznz.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Eric Bavier skribis: > From e0f0ff27fce4e5b62105ffd28281a78552c1dc39 Mon Sep 17 00:00:00 2001 > From: Eric Bavier > Date: Sat, 16 Aug 2014 00:56:42 -0500 > Subject: [PATCH] gnu: texi2html: Fix tests in the absense of gettext. > > * gnu/packages/patches/texi2html-i18n.patch: New patch. > * gnu/packages/texinfo.scm (texi2html)[source]: Use it. > * gnu-system.am (dist_patch_DATA): Add it. Oh so =E2=80=98check-local=E2=80=99 would trigg a makefile rule to build PO= files. Then the patch looks good to me, OK to commit. Thanks! Ludo=E2=80=99. From unknown Tue Jun 17 01:46:28 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.503 (Entity 5.503) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: mhw@netris.org Subject: bug#18247: closed (Re: bug#18247: Cyclic dependencies in (gnu package *) modules) Message-ID: References: <874mwxeytj.fsf@gnu.org> <87egwmbxln.fsf@netris.org> X-Gnu-PR-Message: they-closed 18247 X-Gnu-PR-Package: guix Reply-To: 18247@debbugs.gnu.org Date: Thu, 28 Aug 2014 09:42:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1409218923-28759-1" This is a multi-part message in MIME format... ------------=_1409218923-28759-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #18247: Cyclic dependencies in (gnu package *) modules 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 18247@debbugs.gnu.org. --=20 18247: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D18247 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1409218923-28759-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 18247-done) by debbugs.gnu.org; 28 Aug 2014 09:41:19 +0000 Received: from localhost ([127.0.0.1]:54029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XMwCk-0007Sm-Sd for submit@debbugs.gnu.org; Thu, 28 Aug 2014 05:41:19 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:51375) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XMwCi-0007SZ-E3 for 18247-done@debbugs.gnu.org; Thu, 28 Aug 2014 05:41:17 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id A4ECF386F; Thu, 28 Aug 2014 11:41:13 +0200 (CEST) Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v5j2pq2pbKBK; Thu, 28 Aug 2014 11:41:13 +0200 (CEST) Received: from pluto (pluto.bordeaux.inria.fr [193.50.110.57]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 611A81247; Thu, 28 Aug 2014 11:41:13 +0200 (CEST) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: mhw@netris.org Subject: Re: bug#18247: Cyclic dependencies in (gnu package *) modules References: <87egwmbxln.fsf@netris.org> <87d2c6razd.fsf@gnu.org> <87y4uupogm.fsf@yeeloong.lan> <8761hybd39.fsf@netris.org> <87oavq9na7.fsf@netris.org> <87fvh1lsnh.fsf@gnu.org> Date: Thu, 28 Aug 2014 11:41:12 +0200 In-Reply-To: <87fvh1lsnh.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 12 Aug 2014 15:54:58 +0200") Message-ID: <874mwxeytj.fsf@gnu.org> User-Agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 18247-done Cc: 18247-done@debbugs.gnu.org, Eric Bavier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > Another possibility, probably better, would be to split base into two > modules: one that exports the normal package definitions (the first page > of base.scm, in terms of C-x n p), and one that exports %final-inputs > and related stuff (the second page). Normally the latter will not have > to be used directly, except by (guix build-system gnu) and related > stuff. Commit bdb3695 does that. It helps a bit already, in that, for instance, adding Guile-Charting and its dependency on (gnu packages gtk) would have been impossible before, but here does not cause any problems. Comments welcome! I=E2=80=99m closing this bug but we=E2=80=99ll certainly have to keep an ey= e on it, so feel free to reopen as you see fit. Thanks, Ludo=E2=80=99. ------------=_1409218923-28759-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Aug 2014 20:06:48 +0000 Received: from localhost ([127.0.0.1]:39703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGvrj-0005t3-1D for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:47 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34182) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XGvrf-0005so-OK for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XGvrQ-0000Mn-RA for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:38 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37059) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGvrQ-0000Mj-O6 for submit@debbugs.gnu.org; Mon, 11 Aug 2014 16:06:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35857) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGvrJ-0006Bh-37 for bug-guix@gnu.org; Mon, 11 Aug 2014 16:06:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XGvrB-0000IR-KI for bug-guix@gnu.org; Mon, 11 Aug 2014 16:06:21 -0400 Received: from world.peace.net ([96.39.62.75]:46396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XGvrB-0000FL-GT for bug-guix@gnu.org; Mon, 11 Aug 2014 16:06:13 -0400 Received: from c-24-62-95-23.hsd1.ma.comcast.net ([24.62.95.23] helo=jojen) by world.peace.net with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1XGvqt-0004IQ-R0; Mon, 11 Aug 2014 16:05:56 -0400 From: mhw@netris.org To: bug-guix@gnu.org Subject: Cyclic dependencies in (gnu package *) modules Date: Mon, 11 Aug 2014 16:05:56 -0400 Message-ID: <87egwmbxln.fsf@netris.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) I'm currently unable to compile guix from git, with error messages that suggest cyclic dependencies between the modules. I just computed the strongly connected components of the (gnu package *) modules. The non-trivial ones are listed below. There are three cycles of size 2: ((gnu packages emacs) (gnu packages version-control)) ((gnu packages flex) (gnu packages bison)) ((gnu packages python) (gnu packages zip)) And one large strongly-connected component containing 51 modules: ((gnu packages acl) (gnu packages gettext) (gnu packages xml) (gnu packages linux) (gnu packages gtk) (gnu packages xorg) (gnu packages gnupg) (gnu packages glib) (gnu packages base) (gnu packages texinfo) (gnu packages gcc) (gnu packages openldap) (gnu packages groff) (gnu packages netpbm) (gnu packages ghostscript) (gnu packages tcl) (gnu packages fontutils) (gnu packages cyrus-sasl) (gnu packages mit-krb5) (gnu packages curl) (gnu packages ssh) (gnu packages gsasl) (gnu packages shishi) (gnu packages gnutls) (gnu packages gl) (gnu packages pdf) (gnu packages lesstif) (gnu packages gnome) (gnu packages libcanberra) (gnu packages xiph) (gnu packages pulseaudio) (gnu packages web) (gnu packages docbook) (gnu packages avahi) (gnu packages algebra) (gnu packages mpi) (gnu packages valgrind) (gnu packages gdb) (gnu packages dejagnu) (gnu packages doxygen) (gnu packages graphviz) (gnu packages gd) (gnu packages gstreamer) (gnu packages iso-codes) (gnu packages rrdtool) (gnu packages maths) (gnu packages texlive) (gnu packages tcsh) (gnu packages lisp) (gnu packages fltk) (gnu packages attr)) Mark ------------=_1409218923-28759-1--