GNU bug report logs -
#42601
Guix install bug: error: Unbound variable: ~S
Previous Next
To reply to this bug, email your comments to 42601 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 16:11:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Wed, 29 Jul 2020 16:11:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello,
I made a package named "qmk-cli" and it seems Guix doesn't like it.
Running "./pre-inst-env guix install "qmk-cli"" results in this:
guix install: error: Unbound variable: ~S
Jan Wielkiewicz
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 16:17:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 42601 <at> debbugs.gnu.org (full text, mbox):
It seems it's not about the name, but the package - I changed the name
to "qmk" and it still doesn't work. Not that this is an excuse for
writing such a strange message.
Make output:
[100%] GUILEC gnu/packages/hardware.go
gnu/packages/hardware.scm:486:4: warning: possibly unbound variable
`arm-none-eabi-toolchain' gnu/packages/hardware.scm:486:4: warning:
possibly unbound variable `avr-toolchain'
gnu/packages/hardware.scm:486:4: warning: possibly unbound variable
`dfu-programmer' gnu/packages/hardware.scm:486:4: warning: possibly
unbound variable `dfu-util'
My wip package:
(define-public qmk
(package
(name "qmk")
(version "0.0.35")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qmk" version))
(sha256
(base32
"1dd3q38r5bs9ih8jiwsb7q2655wyka2a8wlwv7yln9narlqwl177"))))
(build-system python-build-system)
(propagated-inputs
`(("arm-none-eabi-toolchain" ,arm-none-eabi-toolchain)
("avr-toolchain" ,avr-toolchain)
("dfu-programmer" ,dfu-programmer)
("dfu-util" ,dfu-util)
("python3" ,python)
("python-appdirs" ,python-appdirs)
("python-argcomplete" ,python-argcomplete)
("python-colorama" ,python-colorama)
("python-flake8" ,python-flake8)
("python-hjson" ,python-hjson)
("python-nose2" ,python-nose2)
("python-yapf" ,python-yapf)))
(arguments
`(#:tests? #f)) ; no tests
(home-page "https://github.com/qmk/qmk_cli")
(synopsis
"Work with QMK Firmware")
(description
"A program to help users work with QMK Firmware.")
(license license:expat)))
Jan Wielkiewicz
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 17:02:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 42601 <at> debbugs.gnu.org (full text, mbox):
On Wed, Jul 29, 2020 at 06:16:47PM +0200, Jan Wielkiewicz wrote:
> It seems it's not about the name, but the package - I changed the name
> to "qmk" and it still doesn't work. Not that this is an excuse for
> writing such a strange message.
I think some interface changed elsewhere in the codebase and these
errors are confusing. Try `make clean-go && make` before using the
./pre-inst-env script again.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 17:20:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Dnia 2020-07-29, o godz. 13:00:59
Leo Famulari <leo <at> famulari.name> napisał(a):
> On Wed, Jul 29, 2020 at 06:16:47PM +0200, Jan Wielkiewicz wrote:
> > It seems it's not about the name, but the package - I changed the
> > name to "qmk" and it still doesn't work. Not that this is an excuse
> > for writing such a strange message.
>
> I think some interface changed elsewhere in the codebase and these
> errors are confusing. Try `make clean-go && make` before using the
> ./pre-inst-env script again.
Same thing, didn't work
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 17:58:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> writes:
> It seems it's not about the name, but the package - I changed the name
> to "qmk" and it still doesn't work. Not that this is an excuse for
> writing such a strange message.
>
> Make output:
>
> [100%] GUILEC gnu/packages/hardware.go
> gnu/packages/hardware.scm:486:4: warning: possibly unbound variable
> `arm-none-eabi-toolchain' gnu/packages/hardware.scm:486:4: warning:
> possibly unbound variable `avr-toolchain'
> gnu/packages/hardware.scm:486:4: warning: possibly unbound variable
> `dfu-programmer' gnu/packages/hardware.scm:486:4: warning: possibly
> unbound variable `dfu-util'
What is the actual diff? I see that (gnu packages hardware) does not
import (gnu packages avr), so it’s expected that “avr-toolchain” cannot
be found.
--
Ricardo
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 19:38:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Dnia 2020-07-29, o godz. 19:57:35
Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
> What is the actual diff? I see that (gnu packages hardware) does not
> import (gnu packages avr), so it’s expected that “avr-toolchain”
> cannot be found.
>
Just added it and I get the same result. Anyway, the error message is
useless. I'll try removing some inputs and check what causes this.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 19:45:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Dnia 2020-07-29, o godz. 19:57:35
Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
>
> What is the actual diff? I see that (gnu packages hardware) does not
> import (gnu packages avr), so it’s expected that “avr-toolchain”
> cannot be found.
>
Okay, I tested it and it fails on "avr-toolchain", even though I have
#:use-module (gnu packages avr).
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 20:18:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> writes:
> Dnia 2020-07-29, o godz. 19:57:35
> Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
>
>>
>> What is the actual diff? I see that (gnu packages hardware) does not
>> import (gnu packages avr), so it’s expected that “avr-toolchain”
>> cannot be found.
>>
>
> Okay, I tested it and it fails on "avr-toolchain", even though I have
> #:use-module (gnu packages avr).
“avr-toolchain” is a procedure, not a package. Use “avr-toolchain-4.9”
or “avr-toolchain-5”.
--
Ricardo
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 22:13:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Dnia 2020-07-29, o godz. 22:17:01
Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
>
> “avr-toolchain” is a procedure, not a package. Use
> “avr-toolchain-4.9” or “avr-toolchain-5”.
>
Success!
What about the strange message though?
"incorrect package definition" would be better.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 22:17:02 GMT)
Full text and
rfc822 format available.
Message #32 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> writes:
> Dnia 2020-07-29, o godz. 22:17:01
> Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
>
>>
>> “avr-toolchain” is a procedure, not a package. Use
>> “avr-toolchain-4.9” or “avr-toolchain-5”.
>>
>
> Success!
>
> What about the strange message though?
> "incorrect package definition" would be better.
“Unbound variable: ~S” looks like a format string with a placeholder
that didn’t get replaced with an actual value. It would be marginally
better if it said “Unbound variable: avr-toolchain”.
We should, I think, take advantage of the fact that the type of inputs
is known: it can only be an origin or a package value. Perhaps we can
catch unbound variables in inputs and print a more valuable error
message.
--
Ricardo
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 29 Jul 2020 22:34:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 42601 <at> debbugs.gnu.org (full text, mbox):
On Thu, Jul 30, 2020 at 12:15:56AM +0200, Ricardo Wurmus wrote:
> “Unbound variable: ~S” looks like a format string with a placeholder
> that didn’t get replaced with an actual value. It would be marginally
> better if it said “Unbound variable: avr-toolchain”.
The reason I suggested an interface change being responsible for
"Unbound variable: ~S" is that I noticed it a couple days ago after
changes to (guix ui), and it was fixed by `make clean-go`:
http://logs.guix.gnu.org/guix/2020-07-27.log#015055
I think that error message is an example of what can go wrong when using
a development environment without rebuilding everything first.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Fri, 31 Jul 2020 08:05:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Hi,
On +2020-07-30 00:15:56 +0200, Ricardo Wurmus wrote:
>
> Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> writes:
>
> > Dnia 2020-07-29, o godz. 22:17:01
> > Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
> >
> >>
> >> “avr-toolchain” is a procedure, not a package. Use
> >> “avr-toolchain-4.9” or “avr-toolchain-5”.
> >>
> >
> > Success!
> >
> > What about the strange message though?
> > "incorrect package definition" would be better.
>
> “Unbound variable: ~S” looks like a format string with a placeholder
> that didn’t get replaced with an actual value. It would be marginally
> better if it said “Unbound variable: avr-toolchain”.
I suspect there are also bugs lurking in the exception-reporting chain between
a (throw 'exception args ...) and the ultimate format statement that produces
a message with "~S" in it. Perhaps one got fixed or avoided in the upgrade?
It seems like something must receive a malformed (key . args) pair
where the args don't match the standard(?) tuple expected for the key.
I'd look for dynamic format string generation splitting arg strings
and mistakenly recomposing a format string and args for it, such that
"~S" got placed in the arg list instead of string-appended into the
proper final format.
Just a hunch. IIRC I've seen mangling the final format string and its args
wind up with a mismatch in number of args and interpolation "~s" elements
and if not papered over, that gets reported as a formatting error (which it is,
but which hides the real error).
>
> We should, I think, take advantage of the fact that the type of inputs
> is known: it can only be an origin or a package value. Perhaps we can
> catch unbound variables in inputs and print a more valuable error
> message.
I think you are right.
And all implicit meta-data should be seen as potential security vulnerabilities IMO :)
Who do you trust to do a reinterpret-cast for you?
>
> --
> Ricardo
>
>
>
--
Regards,
Bengt Richter
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Mon, 03 Aug 2020 18:40:01 GMT)
Full text and
rfc822 format available.
Message #41 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Hi,
Bengt Richter <bokr <at> bokr.com> writes:
> Hi,
>
> On +2020-07-30 00:15:56 +0200, Ricardo Wurmus wrote:
>>
>> Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> writes:
>>
>> > Dnia 2020-07-29, o godz. 22:17:01
>> > Ricardo Wurmus <rekado <at> elephly.net> napisał(a):
>> >
>> >>
>> >> “avr-toolchain” is a procedure, not a package. Use
>> >> “avr-toolchain-4.9” or “avr-toolchain-5”.
>> >>
>> >
>> > Success!
>> >
>> > What about the strange message though?
>> > "incorrect package definition" would be better.
>>
>> “Unbound variable: ~S” looks like a format string with a placeholder
>> that didn’t get replaced with an actual value. It would be marginally
>> better if it said “Unbound variable: avr-toolchain”.
>
> I suspect there are also bugs lurking in the exception-reporting chain between
> a (throw 'exception args ...) and the ultimate format statement that produces
> a message with "~S" in it. Perhaps one got fixed or avoided in the upgrade?
That would be my hunch too! I had reported and tried to fix such problems
here: http://issues.guix.gnu.org/41956. Still unresolved, it requires
more effort to be fixed properly (writing tests mostly).
Maxim
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 05 Aug 2020 20:34:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Hi,
> I made a package named "qmk-cli" and it seems Guix doesn't like it.
> Running "./pre-inst-env guix install "qmk-cli"" results in this:
> guix install: error: Unbound variable: ~S
My bad, I believe this is fixed by
05f3d34094b23dc9612ff6641a0257bc4f7dcd12.
Thanks for reporting the issue!
Is this bug closed, though?
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Wed, 05 Aug 2020 23:54:01 GMT)
Full text and
rfc822 format available.
Message #47 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Dnia 2020-08-05, o godz. 22:33:14
Ludovic Courtès <ludo <at> gnu.org> napisał(a):
> My bad, I believe this is fixed by
> 05f3d34094b23dc9612ff6641a0257bc4f7dcd12.
>
> Thanks for reporting the issue!
>
> Is this bug closed, though?
>
> Ludo’.
I can close it if needed.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Sun, 09 Aug 2020 22:26:01 GMT)
Full text and
rfc822 format available.
Message #50 received at 42601 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello,
I believe there's still something wrong here.
The bug (the new one, described below) occurs after adding
#:use-module (gnu packages avr) to the firmware.scm file.
Attached the diff file of my package below.
I'm packaging qmk-firmware and here's what happens running guix build:
error: binutils: unbound variable
hint: Did you forget a `use-modules' form?
error: googletest: unbound variable
hint: Did you forget a `use-modules' form?
error: bzip2: unbound variable
hint: Did you forget a `use-modules' form?
error: gcc-4.9: unbound variable
hint: Did you forget a `use-modules' form?
error: perl-module-build: unbound variable
hint: Did you forget a `use-modules' form?
error: python2-numpy: unbound variable
hint: Did you forget a `use-modules' form?
error: gzip: unbound variable
hint: Did you forget a `use-modules' form?
error: xcb-proto: unbound variable
hint: Did you forget a `use-modules' form?
error: gnu-make: unbound variable
hint: Did you forget a `use-modules' form?
error: unzip: unbound variable
hint: Did you forget a `use-modules' form?
error: curl: unbound variable
hint: Did you forget a `use-modules' form?
error: binutils: unbound variable
hint: Did you forget a `use-modules' form?
error: pjproject: unbound variable
hint: Did you forget a `use-modules' form?
error: xorg-server: unbound variable
hint: Did you forget a `use-modules' form?
error: libdvdnav: unbound variable
hint: Did you forget a `use-modules' form?
error: perl: unbound variable
hint: Did you forget a `use-modules' form?
error: coreutils: unbound variable
hint: Did you forget a `use-modules' form?
error: libetpan: unbound variable
hint: Did you forget a `use-modules' form?
Throw to key `unbound-variable' with args `("resolve-interface" "no
binding `~A' in module ~A" (python (gnu packages python)) #f)'.
Backtrace: In ice-9/boot-9.scm:
1736:10 19 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
631:22 18 (thunk)
1299:8 17 (call-with-build-handler #<procedure 7fd7f867b420 at g…> …)
In guix/scripts/build.scm:
817:2 16 (_)
In srfi/srfi-1.scm:
673:15 15 (append-map _ _ . _)
586:17 14 (map1 ((argument . "qmk-firmware") (build-mode . 0) # …))
In guix/scripts/build.scm:
837:30 13 (_ _)
In gnu/packages.scm:
477:2 12 (%find-package "qmk-firmware" "qmk-firmware" #f)
362:6 11 (find-best-packages-by-name _ _)
292:55 10 (_ "qmk-firmware" _)
In unknown file:
9 (force #<promise #<procedure 7fd7f9172a00 at gnu/packag…>)
In gnu/packages.scm:
239:33 8 (fold-packages #<procedure 7fd7f76d6f18 at gnu/package…> …)
In guix/discovery.scm:
153:11 7 (all-modules _ #:warn _)
In srfi/srfi-1.scm:
460:18 6 (fold #<procedure 7fd7f8626300 at guix/discovery.scm:1…> …)
In guix/discovery.scm:
143:19 5 (_ _ ())
In srfi/srfi-1.scm:
691:23 4 (filter-map #<procedure 7fd7f86262c0 at guix/discove…> . #)
In guix/discovery.scm:
118:22 3 (_ . _)
In guix/ui.scm:
329:2 2 (report-unbound-variable-error _ #:frame _)
In ice-9/boot-9.scm:
1669:16 1 (raise-exception _ #:continuable? _)
1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern"
(unbound-variable "resolve-interface" "no binding `~A' in module ~A"
(python (gnu packages python)) #f))'.
Jan Wielkiewicz
[0001-gnu-Add-qmk-firmware.patch (text/x-patch, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Sun, 23 Aug 2020 16:25:01 GMT)
Full text and
rfc822 format available.
Message #53 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Hi,
Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> skribis:
> Dnia 2020-08-05, o godz. 22:33:14
> Ludovic Courtès <ludo <at> gnu.org> napisał(a):
>
>> My bad, I believe this is fixed by
>> 05f3d34094b23dc9612ff6641a0257bc4f7dcd12.
>>
>> Thanks for reporting the issue!
>>
>> Is this bug closed, though?
>>
>> Ludo’.
>
> I can close it if needed.
Sure, if you think the other aspects mentioned in this thread are fixed,
please go ahead!
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42601
; Package
guix
.
(Sat, 11 Jun 2022 21:28:02 GMT)
Full text and
rfc822 format available.
Message #56 received at 42601 <at> debbugs.gnu.org (full text, mbox):
Hi,
I have experienced the same issue to build a package in Guix source.
It's built just fine outside the source.
My package definition
https://git.sr.ht/~hellseher/ffab/tree/5c3071c6e3490ee285d245ada5e161cd272a161f/item/ffab/packages/lisp-xyz.scm#L50
> ./pre-inst-env guix describe
Git checkout:
repository: /mnt/library/code/guix
branch: local/lisp-xyz/glop
commit: c23d4871a609018b16ce27f2a131f9a20bf075c2
[env: /gnu/store/q781h6gmv1n2d05gkjs0fq84fjis78v3-profile]
Throw to key `unbound-variable' with args `("resolve-interface" "no
binding `~A' in module ~A" (python (gnu packages python)) #f)'.
Backtrace:
In guix/store.scm:
659:37 19 (thunk)
1298:8 18 (call-with-build-handler #<procedure 7fdf50705870 at g…> …)
In guix/scripts/build.scm:
567:2 17 (_)
In srfi/srfi-1.scm:
673:15 16 (append-map _ _ . _)
586:17 15 (map1 ((argument . "sbcl-glop") (build-mode . 0) (. #) …))
In guix/scripts/build.scm:
587:31 14 (_ _)
In gnu/packages.scm:
479:2 13 (%find-package "sbcl-glop" "sbcl-glop" #f)
364:6 12 (find-best-packages-by-name _ _)
294:56 11 (_ "sbcl-glop" _)
In unknown file:
10 (force #<promise #<procedure 7fdf5072a5e0 at gnu/packag…>)
In gnu/packages.scm:
241:33 9 (fold-packages #<procedure 7fdf4fdcf528 at gnu/package…> …)
In guix/discovery.scm:
159:11 8 (all-modules _ #:warn _)
In srfi/srfi-1.scm:
460:18 7 (fold #<procedure 7fdf53215f60 at guix/discovery.scm:1…> …)
In guix/discovery.scm:
149:19 6 (_ _ ())
116:5 5 (scheme-modules _ _ #:warn _)
In srfi/srfi-1.scm:
691:23 4 (filter-map #<procedure 7fdf53215e00 at guix/discove…> . #)
In guix/discovery.scm:
124:24 3 (_ . _)
In guix/ui.scm:
319:2 2 (report-unbound-variable-error _ #:frame _)
In ice-9/boot-9.scm:
1685:16 1 (raise-exception _ #:continuable? _)
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern"
(unbound-variable "resolve-interface" "no binding `~A' in module ~A"
(python (gnu packages python)) #f))'.
--
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.
This bug report was last modified 1 year and 317 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.