* cross-compiling in core-updates
@ 2017-04-25 11:44 rennes
2017-04-25 14:10 ` Manolis Ragkousis
0 siblings, 1 reply; 8+ messages in thread
From: rennes @ 2017-04-25 11:44 UTC (permalink / raw)
To: guix-devel
When I try './pre-inst-env guix build --target=i586-pc-gnu
bootstrap-tarballs' in core-updates, get the error:
@ build-started
/gnu/store/ya79b5bk7b819nh64k3lk5iwjmg5hnan-bash-static-4.4.12.drv -
x86_64-linux
/var/log/guix/drvs/ya//79b5bk7b819nh64k3lk5iwjmg5hnan-bash-static-4.4.12.drv.bz2
ice-9/psyntax.scm:1534:32: In procedure expand-macro:
ice-9/psyntax.scm:1534:32: Syntax error:
/gnu/store/9drn9v3pkgwxys8wkmv0pkiqaqv5dqyg-bash-static-4.4.12-guile-builder:1:2300:
source expression failed to match any pattern in form (%modify-phases
phases* (delete (quote move-development-files)))
builder for
`/gnu/store/ya79b5bk7b819nh64k3lk5iwjmg5hnan-bash-static-4.4.12.drv'
failed with exit code 1
@ build-failed
/gnu/store/ya79b5bk7b819nh64k3lk5iwjmg5hnan-bash-static-4.4.12.drv - 1
builder for
`/gnu/store/ya79b5bk7b819nh64k3lk5iwjmg5hnan-bash-static-4.4.12.drv'
failed with exit code 1
I'm trying to find the cause!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-04-25 11:44 cross-compiling in core-updates rennes
@ 2017-04-25 14:10 ` Manolis Ragkousis
2017-04-25 21:26 ` Sergei Trofimovich
0 siblings, 1 reply; 8+ messages in thread
From: Manolis Ragkousis @ 2017-04-25 14:10 UTC (permalink / raw)
To: rennes; +Cc: Guix-devel
[-- Attachment #1: Type: text/plain, Size: 56 bytes --]
Hello Rene,
I am currently looking into that.
Manolis
[-- Attachment #2: Type: text/html, Size: 170 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-04-25 14:10 ` Manolis Ragkousis
@ 2017-04-25 21:26 ` Sergei Trofimovich
2017-04-28 19:04 ` Manolis Ragkousis
0 siblings, 1 reply; 8+ messages in thread
From: Sergei Trofimovich @ 2017-04-25 21:26 UTC (permalink / raw)
To: Manolis Ragkousis, Ludovic Courtès, Andy Wingo; +Cc: Guix-devel, rennes
[-- Attachment #1: Type: text/plain, Size: 514 bytes --]
On Tue, 25 Apr 2017 17:10:58 +0300
Manolis Ragkousis <manolis837@gmail.com> wrote:
> Hello Rene,
>
> I am currently looking into that.
>
> Manolis
I've tracked it down to guile-2.-0>2.2 bump.
'define-syntax %modify-phases' somehow changed the meaning:
https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00315.html
but I know almost nothing on how all the nested guix's quotations interact.
Would be nice to hear from those who Know Things (CCed Andy and Ludovic :)
--
Sergei
[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-04-25 21:26 ` Sergei Trofimovich
@ 2017-04-28 19:04 ` Manolis Ragkousis
2017-05-02 7:14 ` Andy Wingo
0 siblings, 1 reply; 8+ messages in thread
From: Manolis Ragkousis @ 2017-04-28 19:04 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: Guix-devel, rennes
The reason for the cascading errors is bash-minimal.
Trying to build `./pre-inst-env guix build bash-minimal'
on core-updates ends up with :
The following derivation will be built:
/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv
@ build-started
/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv -
x86_64-linux
/usr/local/var/log/guix/drvs/1r//0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv.bz2
ice-9/psyntax.scm:1534:32: In procedure expand-macro:
ice-9/psyntax.scm:1534:32: Syntax error:
/gnu/store/k84sww1zzh33a5hw8bcmsa5yp7w628a8-bash-minimal-4.4.12-guile-builder:1:2285:
source expression failed to match any pattern in form (%modify-phases
phases* (delete (quote move-development-files)))
builder for
`/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
failed with exit code 1
@ build-failed
/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv - 1
builder for
`/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
failed with exit code 1
guix build: error: build failed: build of
`/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv' failed
It's the same issue Sergei reported and commit 78dea6f1d4a did not fix it.
On 04/26/17 00:26, Sergei Trofimovich wrote:
> On Tue, 25 Apr 2017 17:10:58 +0300
> Manolis Ragkousis <manolis837@gmail.com> wrote:
>
>> Hello Rene,
>>
>> I am currently looking into that.
>>
>> Manolis
>
> I've tracked it down to guile-2.-0>2.2 bump.
> 'define-syntax %modify-phases' somehow changed the meaning:
> https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00315.html
> but I know almost nothing on how all the nested guix's quotations interact.
>
> Would be nice to hear from those who Know Things (CCed Andy and Ludovic :)
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-04-28 19:04 ` Manolis Ragkousis
@ 2017-05-02 7:14 ` Andy Wingo
2017-05-02 19:03 ` Sergei Trofimovich
0 siblings, 1 reply; 8+ messages in thread
From: Andy Wingo @ 2017-05-02 7:14 UTC (permalink / raw)
To: Manolis Ragkousis; +Cc: Guix-devel, rennes
On Fri 28 Apr 2017 21:04, Manolis Ragkousis <manolis837@gmail.com> writes:
> The reason for the cascading errors is bash-minimal.
>
> Trying to build `./pre-inst-env guix build bash-minimal'
> on core-updates ends up with :
>
> The following derivation will be built:
> /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv
> @ build-started
> /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv -
> x86_64-linux
> /usr/local/var/log/guix/drvs/1r//0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv.bz2
> ice-9/psyntax.scm:1534:32: In procedure expand-macro:
> ice-9/psyntax.scm:1534:32: Syntax error:
> /gnu/store/k84sww1zzh33a5hw8bcmsa5yp7w628a8-bash-minimal-4.4.12-guile-builder:1:2285:
> source expression failed to match any pattern in form (%modify-phases
> phases* (delete (quote move-development-files)))
> builder for
> `/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
> failed with exit code 1
> @ build-failed
> /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv - 1
> builder for
> `/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
> failed with exit code 1
> guix build: error: build failed: build of
> `/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv' failed
>
> It's the same issue Sergei reported and commit 78dea6f1d4a did not fix it.
Hi!
I suspect I know what this is. First, the package in question:
(define-public bash-minimal
;; A stripped-down Bash for non-interactive use.
(package (inherit bash)
(name "bash-minimal")
(inputs '()) ; no readline, no curses
;; No "include" output because there's no support for loadable modules.
(outputs (delete "include" (package-outputs bash)))
(arguments
(let ((args `(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26))
,@(package-arguments bash))))
(substitute-keyword-arguments args
((#:configure-flags flags)
`(list "--without-bash-malloc"
"--disable-readline"
"--disable-history"
"--disable-help-builtin"
"--disable-progcomp"
"--disable-net-redirections"
"--disable-nls"
;; Pretend 'dlopen' is missing so we don't build loadable
;; modules and related code.
"ac_cv_func_dlopen=no"
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no"
"bash_cv_getcwd_malloc=yes")
'())))
((#:phases phases)
`(modify-phases ,phases
;; No loadable modules.
(delete 'move-development-files))))))))
So you are aware of the change in Guile regarding "keyword" matching in
macros. In this case the "delete" in the modify-phases macro is a
keyword. Whereas before in Guile, they were only matched by name, now
they are matched by binding. If the keyword was bound where the macro
was defined, then it will only be matched to identifiers bound to the
same variable when the macro is used. Otherwise if the keyword was
unbound when the macro was defined, then it will match by name, but only
if the name is also unbound at the macro use.
In (guix build utils), `delete' is bound to "delete" from (srfi srfi-1).
In the bash package definition, I am not sure what the scope is because
it's staged. However let's assume that the #:modules bit intends to
make it so that srfi-1 is present also in the bash-minimal module. That
should work, right? Except I think because the bash package *also*
defines a #:modules argument, that will result in:
#:modules the-bash-minimal-modules ... #:modules the-bash-modules
and the last keyword wins. So, perhaps try putting the
,@(package-arguments bash) first in this list?
(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26))
,@(package-arguments bash))
Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-05-02 7:14 ` Andy Wingo
@ 2017-05-02 19:03 ` Sergei Trofimovich
2017-05-02 19:20 ` Andy Wingo
0 siblings, 1 reply; 8+ messages in thread
From: Sergei Trofimovich @ 2017-05-02 19:03 UTC (permalink / raw)
To: Andy Wingo; +Cc: Guix-devel, rennes
[-- Attachment #1: Type: text/plain, Size: 5793 bytes --]
On Tue, 02 May 2017 09:14:21 +0200
Andy Wingo <wingo@igalia.com> wrote:
> On Fri 28 Apr 2017 21:04, Manolis Ragkousis <manolis837@gmail.com> writes:
>
> > The reason for the cascading errors is bash-minimal.
> >
> > Trying to build `./pre-inst-env guix build bash-minimal'
> > on core-updates ends up with :
> >
> > The following derivation will be built:
> > /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv
> > @ build-started
> > /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv -
> > x86_64-linux
> > /usr/local/var/log/guix/drvs/1r//0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv.bz2
> > ice-9/psyntax.scm:1534:32: In procedure expand-macro:
> > ice-9/psyntax.scm:1534:32: Syntax error:
> > /gnu/store/k84sww1zzh33a5hw8bcmsa5yp7w628a8-bash-minimal-4.4.12-guile-builder:1:2285:
> > source expression failed to match any pattern in form (%modify-phases
> > phases* (delete (quote move-development-files)))
> > builder for
> > `/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
> > failed with exit code 1
> > @ build-failed
> > /gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv - 1
> > builder for
> > `/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv'
> > failed with exit code 1
> > guix build: error: build failed: build of
> > `/gnu/store/1r0fpfcik796g2b5v9ns163sgan1rkmz-bash-minimal-4.4.12.drv' failed
> >
> > It's the same issue Sergei reported and commit 78dea6f1d4a did not fix it.
>
> Hi!
>
> I suspect I know what this is. First, the package in question:
>
> (define-public bash-minimal
> ;; A stripped-down Bash for non-interactive use.
> (package (inherit bash)
> (name "bash-minimal")
> (inputs '()) ; no readline, no curses
>
> ;; No "include" output because there's no support for loadable modules.
> (outputs (delete "include" (package-outputs bash)))
>
> (arguments
> (let ((args `(#:modules ((guix build gnu-build-system)
> (guix build utils)
> (srfi srfi-1)
> (srfi srfi-26))
> ,@(package-arguments bash))))
> (substitute-keyword-arguments args
> ((#:configure-flags flags)
> `(list "--without-bash-malloc"
> "--disable-readline"
> "--disable-history"
> "--disable-help-builtin"
> "--disable-progcomp"
> "--disable-net-redirections"
> "--disable-nls"
>
> ;; Pretend 'dlopen' is missing so we don't build loadable
> ;; modules and related code.
> "ac_cv_func_dlopen=no"
>
> ,@(if (%current-target-system)
> '("bash_cv_job_control_missing=no"
> "bash_cv_getcwd_malloc=yes")
> '())))
> ((#:phases phases)
> `(modify-phases ,phases
> ;; No loadable modules.
> (delete 'move-development-files))))))))
>
> So you are aware of the change in Guile regarding "keyword" matching in
> macros. In this case the "delete" in the modify-phases macro is a
> keyword. Whereas before in Guile, they were only matched by name, now
> they are matched by binding. If the keyword was bound where the macro
> was defined, then it will only be matched to identifiers bound to the
> same variable when the macro is used. Otherwise if the keyword was
> unbound when the macro was defined, then it will match by name, but only
> if the name is also unbound at the macro use.
>
> In (guix build utils), `delete' is bound to "delete" from (srfi srfi-1).
> In the bash package definition, I am not sure what the scope is because
> it's staged. However let's assume that the #:modules bit intends to
> make it so that srfi-1 is present also in the bash-minimal module. That
> should work, right? Except I think because the bash package *also*
> defines a #:modules argument, that will result in:
>
> #:modules the-bash-minimal-modules ... #:modules the-bash-modules
>
> and the last keyword wins. So, perhaps try putting the
> ,@(package-arguments bash) first in this list?
>
> (#:modules ((guix build gnu-build-system)
> (guix build utils)
> (srfi srfi-1)
> (srfi srfi-26))
> ,@(package-arguments bash))
Yay! The following patch makes bash-minimal compile fine!
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index ef22728a9..38aa1786e 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -213,7 +213,7 @@ without modification.")
(arguments
- (let ((args `(#:modules ((guix build gnu-build-system)
+ (let ((args `(,@(package-arguments bash)
+ #:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
- (srfi srfi-26))
- ,@(package-arguments bash))))
+ (srfi srfi-26)))))
(substitute-keyword-arguments args
I'm afraid I understood almost nothing about your comments of
visibility. The only thing I've got is that keyword argument order
matters :)
Would the similar ordering change have the no-op effect in master
branch or does it mean core-updates should do this reordering while
master should not?
Thank you!
--
Sergei
[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-05-02 19:03 ` Sergei Trofimovich
@ 2017-05-02 19:20 ` Andy Wingo
2017-05-03 19:32 ` rennes
0 siblings, 1 reply; 8+ messages in thread
From: Andy Wingo @ 2017-05-02 19:20 UTC (permalink / raw)
To: Sergei Trofimovich; +Cc: Guix-devel, rennes
On Tue 02 May 2017 21:03, Sergei Trofimovich <slyfox@inbox.ru> writes:
> Yay! The following patch makes bash-minimal compile fine!
>
> diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
> index ef22728a9..38aa1786e 100644
> --- a/gnu/packages/bash.scm
> +++ b/gnu/packages/bash.scm
> @@ -213,7 +213,7 @@ without modification.")
> (arguments
> - (let ((args `(#:modules ((guix build gnu-build-system)
> + (let ((args `(,@(package-arguments bash)
> + #:modules ((guix build gnu-build-system)
> (guix build utils)
> (srfi srfi-1)
> - (srfi srfi-26))
> - ,@(package-arguments bash))))
> + (srfi srfi-26)))))
> (substitute-keyword-arguments args
Excellent! Thank you and Rennes and Manolis for the excellent bug
sleuthing.
> I'm afraid I understood almost nothing about your comments of
> visibility. The only thing I've got is that keyword argument order
> matters :)
Sorry for the digression! I didn't help things by using the term
"keyword" in two different ways :P
> Would the similar ordering change have the no-op effect in master
> branch or does it mean core-updates should do this reordering while
> master should not?
Yes, it should have no effect. On the other hand I don't know if it
would cause a whole-world rebuild; maybe that would be a reason to not
apply it to master? I defer to Ludovic here.
Andy
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: cross-compiling in core-updates
2017-05-02 19:20 ` Andy Wingo
@ 2017-05-03 19:32 ` rennes
0 siblings, 0 replies; 8+ messages in thread
From: rennes @ 2017-05-03 19:32 UTC (permalink / raw)
To: Andy Wingo; +Cc: Guix-devel
Hello,
Following the tests('./pre-inst-env guix build --target=i586-pc-gnu
bootstrap-tarballs'), now shows the following:
-----------------------
environment variable `PATH' set to
`/gnu/store/5if2cargrflg5j9jh7ykqpgvm6p2ydid-tar-1.29/bin:/gnu/store/hbcpwp65nngw0abyhk27dgmbac47ymk0-xz-5.2.2/bin'
@ build-succeeded
/gnu/store/40j2pslf5saqw7zs4z1cpr8lj7w6ibym-glibc-stripped-tarball-2.23.drv
-
@ build-started
/gnu/store/w26zkmxffr6b86g14631md9nq16mgi2l-grep-3.0.drv - x86_64-linux
/var/log/guix/drvs/w2//6zkmxffr6b86g14631md9nq16mgi2l-grep-3.0.drv.bz2
ice-9/psyntax.scm:1534:32: In procedure expand-macro:
ice-9/psyntax.scm:1534:32: Syntax error:
/gnu/store/9hq535wqqxg4rxa6z4mnmykmrw368hkw-grep-3.0-guile-builder:2:1887:
source expression failed to match any pattern in form (%modify-phases
phases* (delete (quote fix-egrep-and-fgrep)))
builder for `/gnu/store/w26zkmxffr6b86g14631md9nq16mgi2l-grep-3.0.drv'
failed with exit code 1
@ build-failed /gnu/store/w26zkmxffr6b86g14631md9nq16mgi2l-grep-3.0.drv
- 1 builder for
`/gnu/store/w26zkmxffr6b86g14631md9nq16mgi2l-grep-3.0.drv' failed with
exit code 1
@ build-started
/gnu/store/jf8pnajml667p4926hpfr26ma7rbqvsi-guile-static-2.0.14.drv -
x86_64-linux
/var/log/guix/drvs/jf//8pnajml667p4926hpfr26ma7rbqvsi-guile-static-2.0.14.drv.bz2
cannot build derivation
`/gnu/store/jq4llinka0r42763sgnq9wlcbnbvjnmc-static-binaries-0.drv': 1
dependencies couldn't be built
cannot build derivation
`/gnu/store/l2fj6didfwkaqc3r2h80yvzwf350q7a4-static-binaries-tarball-0.drv':
1 dependencies couldn't be built
cannot build derivation
`/gnu/store/4a0n4ji7vjapyvlwpg9l3lxqb03vcr4q-bootstrap-tarballs-0.drv':
1 dependencies couldn't be built
guix build: error: build failed: build of
`/gnu/store/4a0n4ji7vjapyvlwpg9l3lxqb03vcr4q-bootstrap-tarballs-0.drv'
failed
-----------------------
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-05-03 19:32 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-25 11:44 cross-compiling in core-updates rennes
2017-04-25 14:10 ` Manolis Ragkousis
2017-04-25 21:26 ` Sergei Trofimovich
2017-04-28 19:04 ` Manolis Ragkousis
2017-05-02 7:14 ` Andy Wingo
2017-05-02 19:03 ` Sergei Trofimovich
2017-05-02 19:20 ` Andy Wingo
2017-05-03 19:32 ` rennes
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).