unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* IMPORTANT: guix-package -> guix package
@ 2013-02-17  4:48 Mark H Weaver
  2013-02-17 11:58 ` Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package) Nikita Karetnikov
  0 siblings, 1 reply; 7+ messages in thread
From: Mark H Weaver @ 2013-02-17  4:48 UTC (permalink / raw)
  To: bug-guix

Hello all,

In git, the five scripts 'guix-package', 'guix-gc', 'guix-build',
'guix-download' and 'guix-import' have been replaced with the single
script 'guix'.  The new usage replaces 'guix-package' with 'guix
package', and more generally 'guix-COMMAND' with 'guix COMMAND'.

After pulling, please delete the old scripts from your build directory
to avoid running them by mistake.  Please delete them from ${prefix}/bin
after "make install" as well.

    Thanks,
      Mark

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package)
  2013-02-17  4:48 IMPORTANT: guix-package -> guix package Mark H Weaver
@ 2013-02-17 11:58 ` Nikita Karetnikov
  2013-02-17 12:55   ` Nikita Karetnikov
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Nikita Karetnikov @ 2013-02-17 11:58 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: bug-guix

[-- Attachment #1: Type: text/plain, Size: 2185 bytes --]

This commit is buggy.

Backtrace:
In ice-9/boot-9.scm:
2786: 19 [try-module-autoload (guix build download) #f]
2131: 18 [save-module-excursion #<procedure a1f7630 at ice-9/boot-9.scm:2787:17 ()>]
2797: 17 [#<procedure a1f7630 at ice-9/boot-9.scm:2787:17 ()>]
In unknown file:
   ?: 16 [primitive-load-path "guix/build/download" #f]
In ice-9/eval.scm:
 494: 15 [#<procedure 9c2d5a0 at ice-9/eval.scm:488:4 (exp)> #]
In ice-9/psyntax.scm:
1101: 14 [expand-top-sequence (#) () (#) ...]
1259: 13 [#<procedure a5f7ab0 at ice-9/psyntax.scm:1067:36 ()>]
1611: 12 [expand-simple-lambda (# . #) () (()) ...]
1532: 11 [parse ((# . #)) (#(syntax-object log # ...)) ...]
In ice-9/boot-9.scm:
 623: 10 [map #<procedure a609f90 at ice-9/psyntax.scm:1533:66 (x)> ((# . #))]
In ice-9/psyntax.scm:
2120: 9 [expand-let (let # # # ...) (# # #) (# # #) ...]
In ice-9/boot-9.scm:
 623: 8 [map #<procedure a5f9460 at ice-9/psyntax.scm:2120:49 (x)> (#)]
In ice-9/psyntax.scm:
1257: 7 [#<procedure a5f9460 at ice-9/psyntax.scm:2120:49 (x)> #]
1186: 6 [syntax-type (make-session connection-end/client) (# # #) (# # #) ...]
 579: 5 [syntax-type make-session (# # #) (# # #) ...]
 292: 4 [get-global-definition-hook make-session (hygiene guix build download)]
In unknown file:
   ?: 3 [module-variable #<directory (guix build download) a323168> make-session]
In ice-9/boot-9.scm:
2732: 2 [b #<autoload (gnutls) a5fec18> make-session #f]
In unknown file:
   ?: 1 [scm-error misc-error #f ...]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 9dd98c0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> misc-error ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 9dd98c0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: missing interface for module (gnutls)
make[2]: *** [guix/scripts/download.go] Error 1
make[2]: Leaving directory `/home/guix-FRESH'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/guix-FRESH'
make: *** [all] Error 2

Steps to reproduce:

# git clone git://git.sv.gnu.org/guix.git buggy-guix
# cd buggy-guix
# ./bootstrap
# ./configure --localstatedir=/nix/var --with-nixpkgs=/home/nixpkgs
# make

I'm trying to investigate.  Though, any help is appreciated.

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package)
  2013-02-17 11:58 ` Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package) Nikita Karetnikov
@ 2013-02-17 12:55   ` Nikita Karetnikov
  2013-02-17 14:19   ` Bug: missing interface for module (gnutls) Mark H Weaver
  2013-02-17 14:49   ` Ludovic Courtès
  2 siblings, 0 replies; 7+ messages in thread
From: Nikita Karetnikov @ 2013-02-17 12:55 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: bug-guix

[-- Attachment #1: Type: text/plain, Size: 268 bytes --]

> I'm trying to investigate.  Though, any help is appreciated.

I've found a workaround:

[...]

# ./pre-inst-env guild compile guix/build/download.scm
# make

I guess that it's connected with 'module-autoload!', but I'm still
trying to find the cause of the problem.

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: missing interface for module (gnutls)
  2013-02-17 11:58 ` Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package) Nikita Karetnikov
  2013-02-17 12:55   ` Nikita Karetnikov
@ 2013-02-17 14:19   ` Mark H Weaver
  2013-02-17 14:49   ` Ludovic Courtès
  2 siblings, 0 replies; 7+ messages in thread
From: Mark H Weaver @ 2013-02-17 14:19 UTC (permalink / raw)
  To: Nikita Karetnikov; +Cc: bug-guix

Nikita Karetnikov <nikita@karetnikov.org> writes:
> This commit is buggy.

I don't see how this could have anything to do with my commit.  (gnutls)
needs to be in Guile's load path when (guix build download) is compiled,
and in your case it apparently isn't.  That must be a problem with your
specific configuration.  I think the reason it came up now is because my
commit changed configure.ac, which forced a more complete rebuild than
usual.

My commit changes the code that sets the guile load path from within the
'guix' script.  However, (gnutls) is not part of guix and therefore it
is not guix's responsibility to ensure that it is in the guile load
path.  Furthermore, this didn't happen when you ran the 'guix' script,
but rather while compiling (guix build download) using guild.  The code
I changed has nothing to do with that.

     Mark

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: missing interface for module (gnutls)
  2013-02-17 11:58 ` Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package) Nikita Karetnikov
  2013-02-17 12:55   ` Nikita Karetnikov
  2013-02-17 14:19   ` Bug: missing interface for module (gnutls) Mark H Weaver
@ 2013-02-17 14:49   ` Ludovic Courtès
  2013-02-17 15:49     ` Nikita Karetnikov
  2 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2013-02-17 14:49 UTC (permalink / raw)
  To: Nikita Karetnikov; +Cc: bug-guix

Nikita Karetnikov <nikita@karetnikov.org> skribis:

> This commit is buggy.

Which commit?

> Backtrace:
> In ice-9/boot-9.scm:
> 2786: 19 [try-module-autoload (guix build download) #f]
> 2131: 18 [save-module-excursion #<procedure a1f7630 at ice-9/boot-9.scm:2787:17 ()>]

[...]

>    ?: 3 [module-variable #<directory (guix build download) a323168> make-session]
> In ice-9/boot-9.scm:
> 2732: 2 [b #<autoload (gnutls) a5fec18> make-session #f]
> In unknown file:
>    ?: 1 [scm-error misc-error #f ...]
> In ice-9/boot-9.scm:
>  106: 0 [#<procedure 9dd98c0 at ice-9/boot-9.scm:97:6 (thrown-k . args)> misc-error ...]
>
> ice-9/boot-9.scm:106:20: In procedure #<procedure 9dd98c0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: missing interface for module (gnutls)
> make[2]: *** [guix/scripts/download.go] Error 1
> make[2]: Leaving directory `/home/guix-FRESH'

How did you achieve this?  With Guile 2.0.7+, I see this:

--8<---------------cut here---------------start------------->8---
$ strace -f -o ,,s make guix/build/download.go
/home/ludo/.guix-profile/bin/mkdir -p `dirname "guix/build/download.go"`
LC_ALL=C                                                        \
./pre-inst-env                                  \
/home/ludo/soft/bin/guild compile -L "." -L "." \
  -Wformat -Wunbound-variable -Warity-mismatch                  \
  --target="x86_64-unknown-linux-gnu"                                           \
  -o "guix/build/download.go" "guix/build/download.scm"
guix/build/download.scm:110:17: warning: possibly unbound variable `make-session'
guix/build/download.scm:110:17: warning: possibly unbound variable `connection-end/client'
guix/build/download.scm:111:4: warning: possibly unbound variable `set-session-transport-fd!'
guix/build/download.scm:112:4: warning: possibly unbound variable `set-session-default-priority!'
guix/build/download.scm:113:4: warning: possibly unbound variable `set-session-credentials!'
guix/build/download.scm:113:38: warning: possibly unbound variable `make-certificate-credentials'
guix/build/download.scm:119:4: warning: possibly unbound variable `handshake'
guix/build/download.scm:120:4: warning: possibly unbound variable `session-record-port'
wrote `guix/build/download.go'

$ grep gnutls.scm ,,s
24475 stat("gnu/packages/gnutls.scm", {st_mode=S_IFREG|0644, st_size=3282, ...}) = 0
24475 stat("gnu/packages/gnutls.scm", {st_mode=S_IFREG|0644, st_size=3282, ...}) = 0
24475 stat("gnu/packages/gnutls.scm", {st_mode=S_IFREG|0644, st_size=3282, ...}) = 0
--8<---------------cut here---------------end--------------->8---

IOW, compiling guix/build/download.scm does not attempt to load
(gnutls), which is what the ‘module-autoload!’ call is here for.

(Note that GnuTLS support in that file is unrelated to Mark’s recent
change.)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: missing interface for module (gnutls)
  2013-02-17 14:49   ` Ludovic Courtès
@ 2013-02-17 15:49     ` Nikita Karetnikov
  2013-02-17 21:23       ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Nikita Karetnikov @ 2013-02-17 15:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

[-- Attachment #1: Type: text/plain, Size: 1010 bytes --]

> Which commit?

'e49951eb3e1e1a8e7bad6d7471483e70b0865352'.

> How did you achieve this?

# git clone git://git.sv.gnu.org/guix.git guix-test
# cd guix-test
# ./bootstrap
# ./configure --localstatedir=/nix/var --with-nixpkgs=/home/nixpkgs
# make

Then the error appeared.

Note that I won't see the error if I run the following commands.

# git reset --hard 040860152e63bbafb2eb3e93619e18d107c96b55
# ./bootstrap
# ./configure --localstatedir=/nix/var --with-nixpkgs=/home/nixpkgs
# make
# git pull
# make

Even if I run these after 'make', the error won't appear.

# ./bootstrap
# ./configure --localstatedir=/nix/var --with-nixpkgs=/home/nixpkgs
# make

> With Guile 2.0.7+, I see this:

I also use Guile 2.0.7.

The output of 'strace' looks similar.  'grep gnutls.scm ,,s' doesn't
output anything.

By the way, what's the purpose of ',,s'?  I've never seen it.

> (Note that GnuTLS support in that file is unrelated to Mark’s recent
> change.)

Oh, I apologize.

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Bug: missing interface for module (gnutls)
  2013-02-17 15:49     ` Nikita Karetnikov
@ 2013-02-17 21:23       ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2013-02-17 21:23 UTC (permalink / raw)
  To: Nikita Karetnikov; +Cc: bug-guix

Nikita Karetnikov <nikita@karetnikov.org> skribis:

>> Which commit?
>
> 'e49951eb3e1e1a8e7bad6d7471483e70b0865352'.

Oh, I see now.  An interesting side effect.

Fixed in 855a8ad71def2ebc594ed32c57bda0ca4e13d91c.  Thanks for the
report!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-02-17 21:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-17  4:48 IMPORTANT: guix-package -> guix package Mark H Weaver
2013-02-17 11:58 ` Bug: missing interface for module (gnutls) (was: IMPORTANT: guix-package -> guix package) Nikita Karetnikov
2013-02-17 12:55   ` Nikita Karetnikov
2013-02-17 14:19   ` Bug: missing interface for module (gnutls) Mark H Weaver
2013-02-17 14:49   ` Ludovic Courtès
2013-02-17 15:49     ` Nikita Karetnikov
2013-02-17 21:23       ` Ludovic Courtès

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