unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Copying whole /gnu/store from USB does not work
@ 2015-04-10  8:46 Pjotr Prins
  2015-04-10 11:48 ` Ludovic Courtès
  0 siblings, 1 reply; 31+ messages in thread
From: Pjotr Prins @ 2015-04-10  8:46 UTC (permalink / raw)
  To: guix-devel

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.

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

end of thread, other threads:[~2015-04-21 12:17 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-10  8:46 Copying whole /gnu/store from USB does not work Pjotr Prins
2015-04-10 11:48 ` 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

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