[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guix package: error: corrupt input while restoring archive from sock
From: |
Ludovic Courtès |
Subject: |
Re: guix package: error: corrupt input while restoring archive from socket |
Date: |
Mon, 24 Jul 2017 10:58:25 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Alex Vong <address@hidden> skribis:
> address@hidden (Ludovic Courtès) writes:
>
>> Hello,
>>
>> Alex Vong <address@hidden> skribis:
>>
>>> address@hidden:~/scm/guix$ ./pre-inst-env guix package -u
>>> substitute: Backtrace:
>>> substitute: 1 (primitive-load
>>> "/home/alexvong1995/scm/guix/scripts/gu…")
>>> substitute: In guix/ui.scm:
>>> substitute: 1352:12 0 (run-guix-command _ . _)
>>> substitute:
>>> substitute: guix/ui.scm:1352:12: In procedure run-guix-command:
>>> substitute: guix/ui.scm:1352:12: Wrong type to apply: #<unknown-type
>>> (0x24f . 0x7f92ef1ebe08) @ 0x7f92ef7a1318>
>>
>> This message is likely because Guix on the daemon side ends up loading
>> Guile-SSH-for-Guile-2.0 whereas it is running Guile 2.2.
>>
>> Could you check if that is the case?
>>
> Hmm, I don't remember installing guile-2.0-ssh. I don't think that's the
> cause. But something similar might happen as I find out that I put
> "$HOME/.guix-profile/share/guile/site/2.0/" into my
> GUILE_LOAD_PATH. After removing it, I get a different error message:
>
>
> address@hidden:~/scm/guix$ ./pre-inst-env guix package -u
> substitute: ;;; Failed to autoload make-session in (gnutls):
> substitute: ;;; ERROR: missing interface for module (gnutls)
> substitute: Backtrace:
> substitute: 1 (primitive-load
> "/home/alexvong1995/scm/guix/scripts/gu…")
> substitute: In guix/ui.scm:
> substitute: 1352:12 0 (run-guix-command _ . _)
> substitute:
> substitute: guix/ui.scm:1352:12: In procedure run-guix-command:
> substitute: guix/ui.scm:1352:12: In procedure module-lookup: Unbound
> variable: make-session
> guix package: error: corrupt input while restoring archive from socket
>
>
> Then I put back
> "/gnu/store/m3yq3yknck7ibnav0503jjhr6rv6j1pa-gnutls-3.5.D/share/guile/site/2.0/"
> into my GUILE_LOAD_PATH and I get back the old error message:
>
>
> address@hidden:~/scm/guix$ ./pre-inst-env guix package -u
> substitute: Backtrace:
> substitute: 1 (primitive-load
> "/home/alexvong1995/scm/guix/scripts/gu…")
> substitute: In guix/ui.scm:
> substitute: 1352:12 0 (run-guix-command _ . _)
> substitute:
> substitute: guix/ui.scm:1352:12: In procedure run-guix-command:
> substitute: guix/ui.scm:1352:12: Wrong type to apply: #<unknown-type (0x24f .
> 0x7f4912175e08) @ 0x7f491272b318>
> guix package: error: corrupt input while restoring archive from socket
>
>
> However, if I run "guile -c '(use-modules (gnutls))'", then it will
> succeed without any error. What's going on?
Since you’re using Guile 2.2, you also need to install “guile2.2-gnutls”
instead of “gnutls”. For Guile-SSH, you need “guile-ssh”.
If everything is correct, you should see
~/.guix-profile/share/guile/site/2.2/{gnutls,ssh/auth}.scm and
~/.guix-profile/lib/guile/2.2/site-ccache/{gnutls,ssh/auth}.go.
HTH!
Ludo’.