[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guix package: error: corrupt input while restoring archive from socket
From: |
Alex Vong |
Subject: |
guix package: error: corrupt input while restoring archive from socket |
Date: |
Thu, 20 Jul 2017 20:39:54 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hi guix,
I manage to break something after re-building guix using /var as
localstatedir. The whole story is available below, any help will be
appreciated!
I used to build guix from release tarball, install it to /usr/local/ and
run 'guix pull && guix package -u' to upgrade.
One day, 'guix pull' became too slow for me and I decided to switch to
'git pull'. So instead of running 'guix pull && guix package -u',
I chdir into the git repo and run
'git pull && make -j`nproc` && ./pre-inst-env guix package -u'.
After that change, I have 2 "instances" of guix. The 1st instance comes
from the release tarball, installed into /usr/local/. The 2nd instance
comes from the git repo, which is not installed anywhere. To summarize,
guix-demon is from the 1st instance and package definitions are from the
2nd instance.
Clearly, this approach is too complicated. Today, I try to simplify
things by removing the 1st instance of guix. I run 'make uninstall' to
remove the 1st instance of guix. Then, I run
'make distclean && clean -fdx && git reset --hard' to clean git repo
and run
'./bootstrap && ./configure --localstatedir=/var && make -j`nproc`'
to re-build.
After that, I move all guix-related files in /usr/local/var to /var and
adjust the .guix-profile symlink to point to the /var/... directory.
So far so good. The only problem left is how should I start
guix-daemon. Well, I first chdir into the git repo, run 'su -m' to gain
root privilege while preserving environment and finally starting the
daemon with './pre-inst-env guix-daemon ...'.
I feel like I am almost there. So with excitement, I chdir into the git
repo and run './pre-inst-env guix package -u'. To my disappointment, the
command fails with the following 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 .
0x7f92ef1ebe08) @ 0x7f92ef7a1318>
guix package: error: corrupt input while restoring archive from socket
Does anybody know why?
Cheers,
Alex
signature.asc
Description: PGP signature
- guix package: error: corrupt input while restoring archive from socket,
Alex Vong <=