From: Pjotr Prins <pjotr.public12@thebird.nl>
To: guix-devel@gnu.org
Subject: Copying whole /gnu/store from USB does not work
Date: Fri, 10 Apr 2015 10:46:52 +0200 [thread overview]
Message-ID: <20150410084651.GA23353@thebird.nl> (raw)
Hi all,
A binary install should be easy because all properly installed Guix
packages are independent from the underlying distribution - a package
can be created which contains a package with all its dependencies. The
only real dependency is the (Linux) kernel - which should have a
compatible API. Fortunately the fundamental API does not change that
often, so a binary distribution can be copied from machine to
machine. Of course, also the build target archicture has to match.
With a binary distribution it is possible to simply unpack the
package, create the build group and permissions.
I thought I would be able to bootstrap using a USB image and copy
/gnu/store to a local hard disk.
To bootstrap I have successfully downloaded a GNU Guix tarball
wget http://alpha.gnu.org/gnu/guix/gnu-usb-install-0.8.x86_64-linux.xz
xz -d gnu-usb-install-0.8.x86_64-linux.xz
mount it with kpartx
kpartx -v -a gnu-usb-install-0.8.x86_64-linux
mkdir mnt
mkdir tmp
mount /dev/mapper/loop0p1 mnt
cp -vau mnt/gnu tmp
mv tmp/gnu/ /
and should be able to run Guix with
/gnu/store/(...)-guix-0.8(...)/bin/guix --help
Actually this now works the first time.
There is a problem currently: right after copying the files to /gnu
they work find, e.g.
/gnu/store/nx4zd42igyb7ghmv4mxv6ncg8wr7ypa1-bash-4.3.33/bin/bash --version
GNU bash, version 4.3.33(1)-release (x86_64-unknown-linux-gnu)
Nice!
when I run, however,
/gnu/store/wnsbzddp3izv3xr3gqf2rar4fyd4shl7-guix-0.8.1.f1082ec/bin/guix package -i bash
it runs and I get
The following package will be installed:
bash 4.3.33 /gnu/store/7cc229218glj3kzp6zafzs5mc4241wqk-bash-4.3.33
substitute-binary: updating list of substitutes from 'http://hydra.gnu.org'...
The following derivations will be built:
/gnu/store/gkfzdr01ga0m1c2vl8dh6p3cspjik7pp-profile.drv
/gnu/store/kw632ijb16nracg8kbd2z3qqarv72b9c-info-dir.drv
The following files will be downloaded:
/gnu/store/7cc229218glj3kzp6zafzs5mc4241wqk-bash-4.3.33
/gnu/store/1j6njwwhcqr04c2m0868400p74pv36k2-module-import-compiled
/gnu/store/z2mbq8915vvh0fj6sz3iqiifrdm9k7np-guile-2.0.11
(...)
substitute error: executing `/gnu/store/wnsbzddp3izv3xr3gqf2rar4fyd4shl7-guix-0.8.1.f1082ec/libexec/guix/substitute-binary': No such file or directory
guix package: error: build failed: unexpected EOF reading a line
Looking at
head -1 /gnu/store/wnsbzddp3izv3xr3gqf2rar4fyd4shl7-guix-0.8.1.f1082ec/libexec/guix/substitute-binary
#!/gnu/store/nx4zd42igyb7ghmv4mxv6ncg8wr7ypa1-bash-4.3.33/bin/bash
it calls bash and now check
/gnu/store/nx4zd42igyb7ghmv4mxv6ncg8wr7ypa1-bash-4.3.33/bin/bash
bash: /gnu/store/nx4zd42igyb7ghmv4mxv6ncg8wr7ypa1-bash-4.3.33/bin/bash: No such file or directory
while
ldd /gnu/store/nx4zd42igyb7ghmv4mxv6ncg8wr7ypa1-bash-4.3.33/bin/bash
linux-vdso.so.1 => (0x00007fff739ec000)
libreadline.so.6 => /gnu/store/fznw2a1ig05jkc2yrw8knzcb99akcjx7-readline-6.3/lib/libreadline.so.6 (0x00007f0084bd5000)
libhistory.so.6 => /gnu/store/fznw2a1ig05jkc2yrw8knzcb99akcjx7-readline-6.3/lib/libhistory.so.6 (0x00007f00849cc000)
libncursesw.so.5 => /gnu/store/ksnhghfy6hkk8mmxd4nacyd8c1smdp6p-ncurses-5.9/lib/libncursesw.so.5 (0x00007f008476a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f008455b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f008419b000)
/gnu/store/q2mm1wv4a3g0b29yv0rjybfjh8kr07qi-glibc-2.20/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f0084e1d000)
Oooops. Where does libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 come from?
Also the other bash stopped working too
/gnu/store/nx4zd42igyb7ghmv4mxv6ncg8wr7ypa1-bash-4.3.33/bin/bash --version
and ldd shows links outside /gnu (when it worked they are all linked inside /gnu).
Also the guix binary stopped working. Same issue.
Can anyone explain this? I tried multiple USB images and it is all the same.
Note I am not building, only installing binaries.
Pj.
next reply other threads:[~2015-04-10 8:47 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-10 8:46 Pjotr Prins [this message]
2015-04-10 11:48 ` Copying whole /gnu/store from USB does not work Ludovic Courtès
2015-04-10 13:14 ` Pjotr Prins
2015-04-10 13:41 ` David Thompson
2015-04-12 10:28 ` Copying whole /gnu/store from USB does not work (SOLVED) Pjotr Prins
2015-04-12 12:29 ` Ludovic Courtès
2015-04-12 20:07 ` Self-contained Guix tarball Ludovic Courtès
2015-04-13 6:54 ` Pjotr Prins
2015-04-13 9:57 ` Ludovic Courtès
2015-04-13 10:05 ` Pjotr Prins
2015-04-13 13:29 ` Mark H Weaver
2015-04-14 21:33 ` Ludovic Courtès
2015-04-13 15:47 ` Thompson, David
2015-04-15 21:31 ` Ludovic Courtès
2015-04-16 5:33 ` Pjotr Prins
2015-04-18 21:23 ` Ludovic Courtès
2015-04-19 8:18 ` Pjotr Prins
2015-04-19 20:09 ` Ludovic Courtès
2015-04-19 13:34 ` Taylan Ulrich Bayırlı/Kammer
2015-04-20 20:49 ` Ludovic Courtès
2015-04-21 7:03 ` Pjotr Prins
2015-04-21 7:19 ` Pjotr Prins
2015-04-21 8:18 ` Ludovic Courtès
2015-04-21 8:44 ` Pjotr Prins
2015-04-21 12:16 ` Ludovic Courtès
2015-04-21 8:11 ` Ludovic Courtès
2015-04-21 8:37 ` Pjotr Prins
2015-04-21 10:08 ` Ricardo Wurmus
2015-04-21 10:17 ` Pjotr Prins
2015-04-21 12:08 ` Andreas Enge
2015-04-21 12:12 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150410084651.GA23353@thebird.nl \
--to=pjotr.public12@thebird.nl \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).