Importing a toolchain packages causes top-level dependency cycles

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Maxim Cournoyer
Severity
normal
Merged with
M
M
Maxim Cournoyer wrote on 3 Sep 2023 16:39
(name . bug-guix)(address . bug-guix@gnu.org)
878r9nun4f.fsf@gmail.com
Hello,

Attempting to add a new (gnu packages ergodox) module, it fails with the
following error:

Toggle snippet (14 lines)
[ 11%] LOAD guix/store/deduplication.scm
[ 11%] LOAD guix/store/roots.scm
[ 11%] LOAD guix/config.scm
[ 11%] LOAD guix/tests.scm
ice-9/eval.scm:293:34: error: cross-gcc: unbound variable
hint: Did you forget `(use-modules (gnu packages cross-base))'?

make[2]: *** [Makefile:6997: make-core-go] Error 1
make[2]: Leaving directory '/home/maxim/src/guix'
make[1]: *** [Makefile:6083: all-recursive] Error 1
make[1]: Leaving directory '/home/maxim/src/guix'
make: *** [Makefile:4197: all] Error 2

Which looks like a circular dependency problem at the top level. Here's
the content of gnu/packages/ergodox.scm:

Toggle snippet (80 lines)
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages ergodox)
#:use-module (gnu packages avr)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))

(define (make-ergodox-firmware layout)
(let ((revision "0")
(commit "89b7e2bfdafb2a87e0248846d5c95cc5e9a27858"))
(package
(name (string-append "ergodox-firmware-" layout))
(version (git-version "1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/benblazak/ergodox-firmware")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm9480"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "LAYOUT=" layout))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src")))
;; The Makefile-based build system lacks configure
;; and install targets.
(delete 'configure)
(replace 'install
(lambda _
(install-file "firmware.hex" #$output)
(install-file "firmware.eep" #$output))))))
(native-inputs (list avr-toolchain))
(home-page "http://www.ergodox.io")
(synopsis "Firmware for the ErgoDox keyboard")
(description (format #f "This package contains the original firmware for
the ErgoDox keyboard, built using the ~a firmware. It contains two files: the
@file{firmware.hex} and the @file{firmware.eep} files, which can be loaded to
a target using the @code{teensy-loader-cli} package." layout))
(license license:expat))))

(define-public ergodox-firmware-colemak-jc-mod
(make-ergodox-firmware "colemak-jc-mod"))

(define-public ergodox-firmware-colemak-symbol-mod
(make-ergodox-firmware "colemak-symbol-mod"))

(define-public ergodox-firmware-dvorak-kinesis-mod
(make-ergodox-firmware "dvorak-kinesis-mod"))

(define-public ergodox-firmware-qwerty-kinesis-mod
(make-ergodox-firmware "qwerty-kinesis-mod"))

(define-public ergodox-firmware-workman-p-kinesis-mod
(make-ergodox-firmware "workman-p-kinesis-mod"))

Commenting out the '(native-inputs (list avr-toolchain))' line resolves
the problem, but obviously breaks the package, which requires avr-gcc
and friends.

Another similar report was made in

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 3 Sep 2023 20:32
control message for bug #65718
(address . control@debbugs.gnu.org)
874jkbumy6.fsf@gmail.com
merge 65718 65716
quit
M
M
Maxim Cournoyer wrote on 3 Sep 2023 20:55
Re: bug#65716: Importing a toolchain packages causes top-level dependency cycles
(address . 65716@debbugs.gnu.org)
87zg23t7cr.fsf@gmail.com
Hello,

Ludovic suggested in #guile to use "(resolve-module '(A))" at the REPL
and looking at the backtrace; unfortunately this succeeds so cannot be
used to get more insight into the problem.

Adding the Guile undocumented "(set! %load-verbosely #t)" to my local
near the top of my (guix config) module, I see, when running 'make':

Toggle snippet (244 lines)
make[2] : on entre dans le répertoire « /home/maxim/src/guix »
[...]
Compiling Scheme modules...
[ 0%] LOAD guix.scm
;;; loading ./guix/build/syscalls.scm
;;; loading ./guix/build/syscalls.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-19.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-6.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/i18n.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/foreign-library.scm
;;; loading ./guix/combinators.scm
;;; loading ./guix/combinators.scm
;;; loading ./guix/diagnostics.scm
;;; loading ./guix/diagnostics.scm
;;; loading ./guix/colors.scm
;;; loading ./guix/colors.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/web/uri.scm
;;; loading ./guix/i18n.scm
;;; loading ./guix/i18n.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/zlib.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/zlib.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/zlib/config.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/zlib/config.scm
;;; loading ./guix/records.scm
;;; loading ./guix/records.scm
;;; loading ./guix/store.scm
;;; loading ./guix/store.scm
;;; loading ./guix/deprecation.scm
;;; loading ./guix/deprecation.scm
;;; loading ./guix/serialization.scm
;;; loading ./guix/serialization.scm
;;; loading ./guix/monads.scm
;;; loading ./guix/monads.scm
;;; loading ./guix/base16.scm
;;; loading ./guix/base16.scm
;;; loading ./guix/base32.scm
;;; loading ./guix/base32.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/hash.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/hash.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/utils.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/utils.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/internal.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/internal.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/package-config.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/package-config.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/atomic.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/popen.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gnutls.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gnutls.scm
;;; loading ./guix/gexp.scm
;;; loading ./guix/gexp.scm
;;; loading ./guix/derivations.scm
;;; loading ./guix/derivations.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/textual-ports.scm
;;; loading ./guix/grafts.scm
;;; loading ./guix/grafts.scm
;;; loading ./guix/build-system.scm
;;; loading ./guix/build-system.scm
;;; loading ./guix/search-paths.scm
;;; loading ./guix/search-paths.scm
;;; loading ./guix/base64.scm
;;; loading ./guix/base64.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/texinfo.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/simple.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/ssax/input-parse.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/ssax.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/transform.scm
;;; loading ./guix/licenses.scm
;;; loading ./guix/licenses.scm
;;; loading ./guix/download.scm
;;; loading ./guix/download.scm
;;; loading ./guix/build/download.scm
;;; loading ./guix/build/download.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/web/http.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/web/client.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/web/request.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/web/response.scm
;;; loading ./guix/ftp-client.scm
;;; loading ./guix/ftp-client.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-31.scm
;;; loading ./guix/progress.scm
;;; loading ./guix/progress.scm
;;; loading ./guix/swh.scm
;;; loading ./guix/swh.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json/builder.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json/builder.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-43.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json/parser.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json/parser.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/streams.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-41.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json/record.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/json/record.scm
;;; loading ./guix/monad-repl.scm
;;; loading ./guix/monad-repl.scm
;;; loading ./guix/status.scm
;;; loading ./guix/status.scm
;;; loading ./guix/ui.scm
;;; loading ./guix/ui.scm
;;; loading ./guix/profiles.scm
;;; loading ./guix/profiles.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-98.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/texinfo/plain-text.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/texinfo/string-utils.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-14.scm
WARNING: Use of `load' in declarative module (guix ui). Add #:declarative? #f to your define-module invocation.
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/repl/repl.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/vm.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/repl/error-handling.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/trap-state.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/traps.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/frame.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/disassembler.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/xref.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/trace.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/repl/debug.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/pretty-print.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/inspect.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/repl/common.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/history.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/repl/command.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/session.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/documentation.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/and-let-star.scm
[ 0%] LOAD guix/base16.scm
[ 0%] LOAD guix/base32.scm
[ 0%] LOAD guix/base64.scm
[ 0%] LOAD guix/ci.scm
;;; loading ./guix/ci.scm
;;; loading ./guix/ci.scm
;;; loading ./guix/http-client.scm
;;; loading ./guix/http-client.scm
;;; loading ./guix/channels.scm
;;; loading ./guix/channels.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/bindings.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/bindings.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/configuration.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/configuration.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/types.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/types.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/structs.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/structs.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/base.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/base.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/bytevectors.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/bytevectors.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/r6/bytevectors.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/r6/bytevectors.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/utils.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/utils.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/vector.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/vector.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/struct.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/struct.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/bitfields.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/bitfields.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric-metadata.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric-metadata.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric-all.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric-all.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/explicit-endianness.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/explicit-endianness.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric-data-model.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric-data-model.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/union.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/union.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/pointer.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/pointer.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/numeric.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/string.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/string.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/cstring-pointer.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/bytestructures/guile/cstring-pointer.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/auth.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/auth.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/blob.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/blob.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/branch.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/branch.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/reference.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/reference.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/clone.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/clone.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/fetch.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/fetch.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/cred.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/cred.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/repository.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/repository.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/commit.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/commit.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/oid.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/oid.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/tree.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/tree.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/object.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/object.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/config.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/config.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/describe.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/describe.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/errors.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/errors.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/diff.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/diff.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/reset.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/reset.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/remote.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/remote.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/rev-parse.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/rev-parse.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/settings.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/settings.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/signature.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/signature.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/status.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/status.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/submodule.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/submodule.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/tag.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/git/tag.scm
;;; loading ./guix/git.scm
;;; loading ./guix/git.scm
;;; loading ./guix/cache.scm
;;; loading ./guix/cache.scm
;;; loading ./guix/git-download.scm
;;; loading ./guix/git-download.scm
;;; loading ./guix/build-system/gnu.scm
;;; loading ./guix/build-system/gnu.scm
;;; loading ./guix/git-authenticate.scm
;;; loading ./guix/git-authenticate.scm
;;; loading ./guix/openpgp.scm
;;; loading ./guix/openpgp.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/pk-crypto.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/pk-crypto.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcr
This message was truncated. Download the full message here.
L
L
Ludovic Courtès wrote on 3 Sep 2023 21:56
Re: bug#65718: Importing a toolchain packages causes top-level dependency cycles
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
871qffdo9v.fsf_-_@gnu.org
Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

Toggle quote (10 lines)
> Adding the Guile undocumented "(set! %load-verbosely #t)" to my local
> near the top of my (guix config) module, I see, when running 'make':
>
> make[2] : on entre dans le répertoire « /home/maxim/src/guix »
> [...]
> Compiling Scheme modules...
> [ 0%] LOAD guix.scm
> ;;; loading ./guix/build/syscalls.scm
> ;;; loading ./guix/build/syscalls.scm

[...]

Looks like this is independent from your change no? There’s no
ergodox.scm in the list of loaded files AFAICS.

Do you experience the problem without your patch?

Thanks,
Ludo’.
M
M
Maxim Cournoyer wrote on 3 Sep 2023 22:14
Re: bug#65716: bug#65718: Importing a toolchain packages causes top-level dependency cycles
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65716@debbugs.gnu.org)
87lednt3ni.fsf@gmail.com
Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (21 lines)
> Hello,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> Adding the Guile undocumented "(set! %load-verbosely #t)" to my local
>> near the top of my (guix config) module, I see, when running 'make':
>>
>> make[2] : on entre dans le répertoire « /home/maxim/src/guix »
>> [...]
>> Compiling Scheme modules...
>> [ 0%] LOAD guix.scm
>> ;;; loading ./guix/build/syscalls.scm
>> ;;; loading ./guix/build/syscalls.scm
>
> [...]
>
> Looks like this is independent from your change no? There’s no
> ergodox.scm in the list of loaded files AFAICS.
>
> Do you experience the problem without your patch?

I am not! As soon as I go back to a commit before my change, everything
starts working again. I'm thoroughly puzzled :-)

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 4 Sep 2023 04:16
Re: bug#65718: Importing a toolchain packages causes top-level dependency cycles
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65716@debbugs.gnu.org)
875y4qu1gw.fsf_-_@gmail.com
Hi Ludovic,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (28 lines)
> Hi Ludovic,
>
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hello,
>>
>> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>>
>>> Adding the Guile undocumented "(set! %load-verbosely #t)" to my local
>>> near the top of my (guix config) module, I see, when running 'make':
>>>
>>> make[2] : on entre dans le répertoire « /home/maxim/src/guix »
>>> [...]
>>> Compiling Scheme modules...
>>> [ 0%] LOAD guix.scm
>>> ;;; loading ./guix/build/syscalls.scm
>>> ;;; loading ./guix/build/syscalls.scm
>>
>> [...]
>>
>> Looks like this is independent from your change no? There’s no
>> ergodox.scm in the list of loaded files AFAICS.
>>
>> Do you experience the problem without your patch?
>
> I am not! As soon as I go back to a commit before my change, everything
> starts working again. I'm thoroughly puzzled :-)

(gnu packages avr) has definitions referencing gcc from the top level
(e.g. avr-gcc), which probably plays a role in this. (gnu packages
cross-base) has the note at the bottom:

Toggle snippet (13 lines)
;;; Concrete cross tool chains are instantiated like this:
;;
;; (define-public xgcc-armhf
;; (let ((triplet "arm-linux-gnueabihf"))
;; (cross-gcc triplet
;; #:xbinutils (cross-binutils triplet)
;; #:libc (cross-libc triplet))))
;;
;;; We don't do that here because we'd be referring to bindings from (gnu
;;; packages gcc) from the top level, which doesn't play well with circular
;;; dependencies among modules.

But it seems hard to "visualize" the problem. Perhaps we need to write
a tool that analyzes and output the modules dependency graph to get more
insights.

It's unfortunate that we cannot define cross toolchain from the top
level -- is there no way in Scheme to make a procedure arguments lazily
evaluated as done by default in Haskell? It seems lazy evaluation could
help here.

Or failing that, could we combine the (gnu packages gcc) / (gnu packages
cross-base) / ? into a (gnu packages toolchain) monolith? Because exact
nature of the problem is still fuzzy to me, I'm not even sure if this
proposition makes sense / could work, but if the problem is gcc being
referenced at the top level from another module, it should, right?

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 4 Sep 2023 17:30
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65716@debbugs.gnu.org)
87il8qrm53.fsf@gmail.com
Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (21 lines)
> Hello,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> Adding the Guile undocumented "(set! %load-verbosely #t)" to my local
>> near the top of my (guix config) module, I see, when running 'make':
>>
>> make[2] : on entre dans le répertoire « /home/maxim/src/guix »
>> [...]
>> Compiling Scheme modules...
>> [ 0%] LOAD guix.scm
>> ;;; loading ./guix/build/syscalls.scm
>> ;;; loading ./guix/build/syscalls.scm
>
> [...]
>
> Looks like this is independent from your change no? There’s no
> ergodox.scm in the list of loaded files AFAICS.
>
> Do you experience the problem without your patch?

A very simple reproducer on current master:

Toggle snippet (11 lines)
modified gnu/packages/firmware.scm
@@ -43,6 +43,7 @@ (define-module (gnu packages firmware)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages assembly)
+ #:use-module (gnu packages avr)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)

And then:

Toggle snippet (279 lines)
$ ./pre-inst-env guix build hello
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-71.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/io/ports.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/binary-ports.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/base.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/iconv.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/rdelim.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/enums.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/conditions.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/exceptions.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/control.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/records/procedural.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/syntax-case.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/optargs.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/base/pmatch.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/records/syntactic.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/hashtables.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-69.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-13.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/lists.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/rnrs/files.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-8.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/receive.scm
;;; loading /home/maxim/src/guix/guix/build/utils.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-34.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-60.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/ftw.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/vlist.scm
;;; loading /home/maxim/src/guix/guix/build/syscalls.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/foreign.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/base/target.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-19.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-6.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/i18n.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/foreign-library.scm
;;; loading /home/maxim/src/guix/guix/combinators.scm
;;; loading /home/maxim/src/guix/guix/deprecation.scm
;;; loading /home/maxim/src/guix/guix/serialization.scm
;;; loading /home/maxim/src/guix/guix/monads.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/syntax.scm
;;; loading /home/maxim/src/guix/guix/records.scm
;;; loading /home/maxim/src/guix/guix/base16.scm
;;; loading /home/maxim/src/guix/guix/base32.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/hash.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/utils.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/internal.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gcrypt/package-config.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/atomic.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/language/tree-il/primitives.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/base/syntax.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/language/tree-il.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-16.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/popen.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/web/uri.scm
;;; loading /gnu/store/b914k2bjm3wixvd2kc9s03mzvfsif69c-profile/share/guile/site/3.0/gnutls.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/program.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/debug.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/elf.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/dwarf.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/system/vm/loader.scm
;;; loading /home/maxim/src/guix/guix/derivations.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/ice-9/textual-ports.scm
;;; loading /home/maxim/src/guix/guix/sets.scm
;;; loading /home/maxim/src/guix/guix/packages.scm
;;; loading /home/maxim/src/guix/guix/grafts.scm
;;; loading /home/maxim/src/guix/guix/build-system.scm
;;; loading /home/maxim/src/guix/guix/search-paths.scm
;;; loading /home/maxim/src/guix/guix/profiles.scm
;;; loading /home/maxim/src/guix/guix/modules.scm
;;; loading /home/maxim/src/guix/guix/licenses.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-31.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/texinfo.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/simple.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/ssax/input-parse.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/ssax.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/sxml/transform.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/texinfo/plain-text.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/texinfo/string-utils.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-14.scm
;;; loading /home/maxim/src/guix/guix/scripts/build.scm
;;; loading /home/maxim/src/guix/guix/scripts.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-37.scm
;;; loading /home/maxim/src/guix/gnu/packages.scm
;;; loading /home/maxim/src/guix/guix/discovery.scm
;;; loading /home/maxim/src/guix/guix/describe.scm
;;; loading /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/share/guile/3.0/srfi/srfi-39.scm
;;; loading /home/maxim/src/guix/guix/platform.scm
;;; loading /home/maxim/src/guix/guix/status.scm
;;; loading /home/maxim/src/guix/guix/progress.scm
;;; loading /home/maxim/src/guix/guix/transformations.scm
;;; loading /home/maxim/src/guix/guix/download.scm
;;; loading /home/maxim/src/guix/gnu/packages/abduco.scm
;;; loading /home/maxim/src/guix/guix/build-system/gnu.scm
;;; loading /home/maxim/src/guix/gnu/packages/abiword.scm
;;; loading /home/maxim/src/guix/guix/build-system/glib-or-gtk.scm
;;; loading /home/maxim/src/guix/guix/build/glib-or-gtk-build-system.scm
;;; loading /home/maxim/src/guix/guix/build/gnu-build-system.scm
;;; loading /home/maxim/src/guix/guix/build/gremlin.scm
;;; loading /home/maxim/src/guix/guix/elf.scm
;;; loading /home/maxim/src/guix/gnu/packages/autotools.scm
;;; loading /home/maxim/src/guix/gnu/packages/perl.scm
;;; loading /home/maxim/src/guix/guix/git-download.scm
;;; loading /home/maxim/src/guix/guix/build-system/perl.scm
;;; loading /home/maxim/src/guix/gnu/packages/base.scm
;;; loading /home/maxim/src/guix/gnu/packages/acl.scm
;;; loading /home/maxim/src/guix/gnu/packages/attr.scm
;;; loading /home/maxim/src/guix/gnu/packages/gettext.scm
;;; loading /home/maxim/src/guix/guix/build-system/python.scm
;;; loading /home/maxim/src/guix/gnu/packages/bash.scm
;;; loading /home/maxim/src/guix/gnu/packages/bootstrap.scm
;;; loading /home/maxim/src/guix/guix/build-system/trivial.scm
;;; loading /home/maxim/src/guix/gnu/packages/compression.scm
;;; loading /home/maxim/src/guix/guix/build-system/ant.scm
;;; loading /home/maxim/src/guix/guix/build-system/cmake.scm
;;; loading /home/maxim/src/guix/guix/build-system/go.scm
;;; loading /home/maxim/src/guix/guix/build-system/meson.scm
;;; loading /home/maxim/src/guix/gnu/packages/assembly.scm
;;; loading /home/maxim/src/guix/gnu/packages/admin.scm
;;; loading /home/maxim/src/guix/guix/build-system/cargo.scm
;;; loading /home/maxim/src/guix/guix/build-system/emacs.scm
;;; loading /home/maxim/src/guix/guix/build/emacs-build-system.scm
;;; loading /home/maxim/src/guix/guix/build/emacs-utils.scm
;;; loading /home/maxim/src/guix/guix/build-system/pyproject.scm
;;; loading /home/maxim/src/guix/guix/build-system/qt.scm
;;; loading /home/maxim/src/guix/guix/build/qt-utils.scm
;;; loading /home/maxim/src/guix/guix/build-system/ruby.scm
;;; loading /home/maxim/src/guix/gnu/packages/algebra.scm
;;; loading /home/maxim/src/guix/gnu/packages/bison.scm
;;; loading /home/maxim/src/guix/gnu/packages/m4.scm
;;; loading /home/maxim/src/guix/gnu/packages/flex.scm
;;; loading /home/maxim/src/guix/gnu/packages/man.scm
;;; loading /home/maxim/src/guix/gnu/packages/dbm.scm
;;; loading /home/maxim/src/guix/gnu/packages/gawk.scm
;;; loading /home/maxim/src/guix/gnu/packages/gcc.scm
;;; loading /home/maxim/src/guix/gnu/packages/multiprecision.scm
;;; loading /home/maxim/src/guix/gnu/packages/texinfo.scm
;;; loading /home/maxim/src/guix/gnu/packages/ncurses.scm
;;; loading /home/maxim/src/guix/gnu/packages/pkg-config.scm
;;; loading /home/maxim/src/guix/gnu/packages/swig.scm
;;; loading /home/maxim/src/guix/gnu/packages/boost.scm
;;; loading /home/maxim/src/guix/gnu/packages/hurd.scm
;;; loading /home/maxim/src/guix/gnu/packages/cross-base.scm
;;; loading /home/maxim/src/guix/gnu/packages/linux.scm
;;; loading /home/maxim/src/guix/gnu/packages/apparmor.scm
;;; loading /home/maxim/src/guix/gnu/packages/dejagnu.scm
;;; loading /home/maxim/src/guix/gnu/packages/tcl.scm
;;; loading /home/maxim/src/guix/gnu/packages/image.scm
;;; loading /home/maxim/src/guix/gnu/packages/build-tools.scm
;;; loading /home/maxim/src/guix/guix/build-system/copy.scm
;;; loading /home/maxim/src/guix/gnu/packages/adns.scm
;;; loading /home/maxim/src/guix/gnu/packages/check.scm
;;; loading /home/maxim/src/guix/gnu/packages/cmake.scm
;;; loading /home/maxim/src/guix/gnu/packages/backup.scm
;;; loading /home/maxim/src/guix/gnu/packages/crypto.scm
;;; loading /home/maxim/src/guix/gnu/packages/aidc.scm
;;; loading /home/maxim/src/guix/gnu/packages/imagemagick.scm
;;; loading /home/maxim/src/guix/gnu/packages/fontutils.scm
;;; loading /home/maxim/src/guix/gnu/packages/datastructures.scm
;;; loading /home/maxim/src/guix/gnu/packages/docbook.scm
;;; loading /home/maxim/src/guix/gnu/packages/inkscape.scm
;;; loading /home/maxim/src/guix/gnu/packages/aspell.scm
;;; loading /home/maxim/src/guix/gnu/packages/bdw-gc.scm
;;; loading /home/maxim/src/guix/gnu/packages/glib.scm
;;; loading /home/maxim/src/guix/gnu/packages/cpp.scm
;;; loading /home/maxim/src/guix/guix/build-system/scons.scm
;;; loading /home/maxim/src/guix/gnu/packages/benchmark.scm
;;; loading /home/maxim/src/guix/gnu/packages/c.scm
;;; loading /home/maxim/src/guix/gnu/packages/guile.scm
;;; loading /home/maxim/src/guix/gnu/packages/gperf.scm
;;; loading /home/maxim/src/guix/gnu/packages/libffi.scm
;;; loading /home/maxim/src/guix/gnu/packages/python.scm
;;; loading /home/maxim/src/guix/gnu/packages/python-build.scm
;;; loading /home/maxim/src/guix/gnu/packages/readline.scm
;;; loading /home/maxim/src/guix/gnu/packages/sqlite.scm
;;; loading /home/maxim/src/guix/gnu/packages/tls.scm
;;; loading /home/maxim/src/guix/gnu/packages/curl.scm
;;; loading /home/maxim/src/guix/gnu/packages/golang.scm
;;; loading /home/maxim/src/guix/gnu/packages/fonts.scm
;;; loading /home/maxim/src/guix/guix/build-system/font.scm
;;; loading /home/maxim/src/guix/gnu/packages/gd.scm
;;; loading /home/maxim/src/guix/gnu/packages/gtk.scm
;;; loading /home/maxim/src/guix/guix/bzr-download.scm
;;; loading /home/maxim/src/guix/guix/build-system/waf.scm
;;; loading /home/maxim/src/guix/gnu/packages/audio.scm
;;; loading /home/maxim/src/guix/gnu/packages/avahi.scm
;;; loading /home/maxim/src/guix/gnu/packages/libdaemon.scm
;;; loading /home/maxim/src/guix/gnu/packages/libevent.scm
;;; loading /home/maxim/src/guix/gnu/packages/perl-check.scm
;;; loading /home/maxim/src/guix/gnu/packages/valgrind.scm
;;; loading /home/maxim/src/guix/gnu/packages/gdb.scm
;;; loading /home/maxim/src/guix/gnu/packages/xml.scm
;;; loading /home/maxim/src/guix/gnu/packages/documentation.scm
;;; loading /home/maxim/src/guix/gnu/packages/python-xyz.scm
;;; loading /home/maxim/src/guix/gnu/packages/astronomy.scm
;;; loading /home/maxim/src/guix/gnu/packages/databases.scm
;;; loading /home/maxim/src/guix/gnu/packages/cyrus-sasl.scm
;;; loading /home/maxim/src/guix/gnu/packages/kerberos.scm
;;; loading /home/maxim/src/guix/gnu/packages/gnupg.scm
;;; loading /home/maxim/src/guix/gnu/packages/emacs.scm
;;; loading /home/maxim/src/guix/gnu/packages/freedesktop.scm
;;; loading /home/maxim/src/guix/gnu/packages/cryptsetup.scm
;;; loading /home/maxim/src/guix/gnu/packages/password-utils.scm
;;; loading /home/maxim/src/guix/gnu/packages/authentication.scm
;;; loading /home/maxim/src/guix/gnu/packages/security-token.scm
;;; loading /home/maxim/src/guix/gnu/packages/crates-io.scm
;;; loading /home/maxim/src/guix/gnu/packages/crates-graphics.scm
;;; loading /home/maxim/src/guix/gnu/packages/gl.scm
;;; loading /home/maxim/src/guix/gnu/packages/elf.scm
;;; loading /home/maxim/src/guix/gnu/packages/sphinx.scm
;;; loading /home/maxim/src/guix/guix/hg-download.scm
;;; loading /home/maxim/src/guix/gnu/packages/graphviz.scm
;;; loading /home/maxim/src/guix/gnu/packages/gnome.scm
;;; loading /home/maxim/src/guix/gnu/packages/calendar.scm
;;; loading /home/maxim/src/guix/gnu/packages/dav.scm
;;; loading /home/maxim/src/guix/gnu/packages/python-check.scm
;;; loading /home/maxim/src/guix/gnu/packages/django.scm
;;; loading /home/maxim/src/guix/gnu/packages/finance.scm
;;; loading /home/maxim/src/guix/guix/build-system/haskell.scm
;;; loading /home/maxim/src/guix/gnu/packages/dns.scm
;;; loading /home/maxim/src/guix/gnu/packages/groff.scm
;;; loading /home/maxim/src/guix/gnu/packages/ruby.scm
;;; loading /home/maxim/src/guix/gnu/packages/rails.scm
;;; loading /home/maxim/src/guix/gnu/packages/node.scm
;;; loading /home/maxim/src/guix/guix/build-system/node.scm
;;; loading /home/maxim/src/guix/gnu/packages/icu4c.scm
;;; loading /home/maxim/src/guix/gnu/packages/cpio.scm
;;; loading /home/maxim/src/guix/gnu/packages/java.scm
;;; loading /home/maxim/src/guix/guix/svn-download.scm
;;; loading /home/maxim/src/guix/guix/build/svn.scm
;;; loading /home/maxim/src/guix/guix/build-system/maven.scm
;;; loading /home/maxim/src/guix/gnu/packages/certs.scm
;;; loading /home/maxim/src/guix/gnu/packages/cups.scm
;;; loading /home/maxim/src/guix/gnu/packages/ghostscript.scm
;;; loading /home/maxim/src/guix/gnu/packages/xorg.scm
;;; loading /home/maxim/src/guix/gnu/packages/anthy.scm
;;; loading /home/maxim/src/guix/gnu/packages/haskell-xyz.scm
;;; loading /home/maxim/src/guix/gnu/packages/haskell.scm
;;; loading /home/maxim/src/guix/gnu/packages/file.scm
;;; loading /home/maxim/src/guix/gnu/packages/lisp.scm
;;; loading /home/maxim/src/guix/gnu/packages/ed.scm
;;; loading /home/maxim/src/guix/gnu/packages/haskell-check.scm
;;; loading /home/maxim/src/guix/gnu/packages/haskell-crypto.scm
;;; loading /home/maxim/src/guix/gnu/packages/haskell-web.scm
;;; loading /home/maxim/src/guix/gnu/packages/libffcall.scm
;;; loading /home/maxim/src/guix/gnu/packages/libsigsegv.scm
;;; loading /home/maxim/src/guix/gnu/packages/llvm.scm
;;; loading /home/maxim/src/guix/gnu/packages/libedit.scm
;;; loading /home/maxim/src/guix/gnu/packages/lua.scm
;;; loading /home/maxim/src/guix/gnu/packages/pretty-print.scm
;;; loading /home/maxim/src/guix/gnu/packages/gv.scm
;;; loading /home/maxim/src/guix/gnu/packages/qt.scm
;;; loading /home/maxim/src/guix/gnu/packages/enchant.scm
;;; loading /home/maxim/src/guix/gnu/packages/hunspell.scm
;;; loading /home/maxim/src/guix/gnu/packages/textutils.scm
;;; loading /home/maxim/src/guix/gnu/packages/pcre.scm
;;; loading /home/maxim/src/guix/gnu/packages/python-web.scm
;;; loading /home/maxim/src/guix/gnu/packages/openstack.scm
;;; loading /home/maxim/src/guix/gnu/packages/monitoring.scm
;;; loading /home/maxim/src/guix/gnu/packages/mail.scm
;;; loading /home/maxim/src/guix/gnu/packages/docker.scm
;;; loading /home/maxim/src/guix/gnu/packages/networking.scm
;;; loading /home/maxim/src/guix/gnu/packages/autogen.scm
;;; loading /home/maxim/src/guix/gnu/packages/code.scm
;;; loading /home/maxim/src/guix/gnu/packages/perl-compression.scm
;;; loading /home/maxim/src/guix/gnu/packages/serialization.scm
;;; loading /home/maxim/src/guix/gnu/packages/python-science.scm
;;; loading /home/maxim/src/guix/gnu/packages/bioinformatics.scm
;;; loading /home/maxim/src/guix/guix/build-system/r.scm
;;; loading /home/maxim/src/guix/gnu/packages/bioconductor.scm
;;; loading /home/maxim/src/guix/gnu/packages/cran.scm
;;; loading /home/maxim/src/guix/gnu/packages/fribidi.scm
;;; loading /home/maxim/src/guix/gnu/packages/geo.scm
;;; loading /home/maxim/src/guix/gnu/packages/gps.scm
;;; loading /home/maxim/src/guix/gnu/packages/libusb.scm
;;; loading /home/maxim/src/guix/gnu/packages/mp3.scm
;;; loading /home/maxim/src/guix/gnu/packages/cdrom.scm
;;; loading /home/maxim/src/guix/gnu/packages/music.scm
;;; loading /home/maxim/src/guix/gnu/pac
This message was truncated. Download the full message here.
M
M
Maxim Cournoyer wrote on 11 Sep 2023 16:35
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65716@debbugs.gnu.org)
87a5tsydyx.fsf_-_@gmail.com
Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

[...]

Toggle quote (17 lines)
> A very simple reproducer on current master:
>
> modified gnu/packages/firmware.scm
> @@ -43,6 +43,7 @@ (define-module (gnu packages firmware)
> #:use-module (gnu packages admin)
> #:use-module (gnu packages autotools)
> #:use-module (gnu packages assembly)
> + #:use-module (gnu packages avr)
> #:use-module (gnu packages backup)
> #:use-module (gnu packages base)
> #:use-module (gnu packages bash)
>
>
> And then:
>
> $ ./pre-inst-env guix build hello

[...]

Toggle quote (3 lines)
> ;;; loading /home/maxim/src/guix/gnu/packages/unicode.scm
> error: cross-gcc: unbound variable

There were multiple top-level problems in the avr and embedded modules,
which I've fixed in bug#65860 [0] (pending review).

I've added some documentation w.r.t. rules to avoid cyclic module
dependencies to hopefully educate people like myself about the problem
and how to avoid it in the future.

On a related note, I've also sent some improvement to guile-devel [1] so
that we can track the nested level of loaded modules when setting
'%load-verbosely' to #t.


--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 4 Oct 2023 04:33
control message for bug #65718
(address . control@debbugs.gnu.org)
874jj75d6u.fsf@gmail.com
close 65718
quit
?
Your comment

This issue is archived.

To comment on this conversation send an email to 65716@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65716
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch