Hello! Wm Salt Hale <s...@altsalt.net> 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’.