[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bootstrapping Guix on HPC without Root
From: |
Ludovic Courtès |
Subject: |
Re: Bootstrapping Guix on HPC without Root |
Date: |
Mon, 17 Jul 2017 15:48:59 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hello!
Wm Salt Hale <address@hidden> skribis:
> I have been attempting to install Guix on the University of
> Washington's HPC using a modified bootstrapping script based on
> https://github.com/pjotrp/nix-no-root
>
> The script can currently be found here (to be forked and pushed to GH
> when verified as working):
>
> https://communitydata.cc/~salt/guix-bootstrap.sh
>
>
> This produces a semi-working installation, it can spit out a version
> and spend a good deal of time trying to complete `guix pull`
>
> The first run was logged via `|& tee -a`
>
> https://communitydata.cc/~salt/guix_first_run.log
For the sake of those not following links ;-), the build error is:
--8<---------------cut here---------------start------------->8---
build/genhooks.o build/errors.o
../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
g++ -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W
-Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H
-DGENERATOR_FILE
-Wl,-rpath=/com/guix/guix/store/qrxkb00z8qmj0aql4gd8zcmf3ldvz583-glibc-2.25/lib
-Wl,-dynamic-linker
-Wl,/com/guix/guix/store/qrxkb00z8qmj0aql4gd8zcmf3ldvz583-glibc-2.25/lib/ld-linux-x86-64.so.2
-L/com/guix/guix/store/89f8avya4dzh8jrvzxw1q9pf27af702h-libstdc++-5.4.0/lib
-L/com/guix/guix/store/yr6nya39hzwx960y8nbiqq91w5yk842x-zlib-1.2.11/lib
-Wl,-rpath=/com/guix/guix/store/yr6nya39hzwx960y8nbiqq91w5yk842x-zlib-1.2.11/lib
-o build/genchecksum \
build/genchecksum.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a
x86_64-guix-linux-gnu-ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:2613: build/genhooks] Error 1
make[3]: *** Waiting for unfinished jobs....
x86_64-guix-linux-gnu-ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:2613: build/genchecksum] Error 1
--8<---------------cut here---------------end--------------->8---
The ‘guix-bootstrap.sh’ script above runs guix-daemon with
‘--disable-chroot’, which means build processes are not being isolated.
I’m fairly confident that this is the root cause of the problem; for
instance because GCC’s build processes end up picking a few things from
/usr/bin instead of /gnu/store. (ISTR Roel Janssen experienced a
similar issue back then, maybe Roel can comment.)
Pjotr mentioned PRoot. An intermediate solution would be to build and
“pack” the software you want to run on your laptop (any machine where
Guix is already installed), to send it to the HPC machine, and to run it
there with PRoot. I gave instructions at:
https://lists.gnu.org/archive/html/guix-devel/2017-05/msg00182.html
I know Pjotr has been experimenting with another nice option, I’ll let
him explain. :-)
HTH!
Ludo’.