* 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).