DrahtBot removed the label Needs Guix build on Feb 11, 2021
laanwj
commented at 3:11 PM on February 11, 2021:
member
Trying to run the guix build on a bare ubuntu server image (with guix installed through guix-install.sh from the guix website) i get the following errors:
user@guix:~/bitcoin$ ./contrib/guix/guix-build.sh
/bin/sh: 1: gcc: not found
/bin/sh: 1: gcc: not found
/bin/sh: 1: g++: not found
/bin/sh: 1: g++: not found
env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang': No such file or directory
env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang': No such file or directory
env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang++': No such file or directory
env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang++': No such file or directory
Is it necessary to install gcc and g++ outside of guix?
It does continue, no idea if it will complete.
dongcarl
commented at 5:32 PM on February 11, 2021:
contributor
Is it necessary to install gcc and g++ outside of guix?
No I don't think so.
I'm almost certain this is caused by the depends download triggering some "immediate" variables in our depends Makefile from evaluating... Shouldn't harm anything, but lemme dig and see where this is.
Update: Ah! This is because we now call build_CC and host_CC when determining our id_strings, and since the id_string variables are "immediate", any appending will also be evaluated immediately... Perhaps we can just set it to a dummy value when we're just downloading? Not sure what the best fix is here...
bitcoin deleted a comment on Feb 11, 2021
bitcoin deleted a comment on Feb 11, 2021
MarcoFalke added the label Needs Guix build on Feb 11, 2021
laanwj
commented at 10:01 PM on February 11, 2021:
member
I compiled on aarch64, which is not allowed, I presume?
laanwj
commented at 9:56 AM on February 13, 2021:
member
@MarcoFalke i'd say it is allowed i'll want to do my future builds on RV64.
Would be good to investigate what is different in your results (and whether they differ for other target architectures than POWER too).
That said, i don't think "determinism when building on other architectures" is a blocker for this PR, might want to open a new issue for that.
laanwj
commented at 4:15 PM on February 13, 2021:
member
I did another build for this on the GUIX distribution (x86_64) instead of installing it on top of another. After setting up a VM starting from the QEMU image, and setting up ssh access for guest (which wasn't that complicated but had to re-learn a bit of LISP in the process) it was completely straightforward:
# (copy in Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz through scp or such …)
guix install git make curl
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
mkdir -p depends/SDKs
cd depends/SDKs
tar -zxf ~/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
cd ../..
contrib/guix/guix-build.sh
DrahtBot removed the label Needs Guix build on Feb 14, 2021
laanwj
commented at 8:48 AM on February 14, 2021:
member
Drahtbot build issue is due to disk space:
/gnu/store/25s9l7cgwz01qq3crbh1dpfw69gvvna4-profile/bin/install: error writing '/distsrc-base/distsrc-a6b382150bcc-powerpc64le-linux-gnu/installed/bitcoin-a6b382150bcc//bin/test_bitcoin': No space left on device
make[3]: *** [Makefile:4521: install-binPROGRAMS] Error 1
MarcoFalke
commented at 9:09 AM on February 14, 2021:
member
Yeah, I am confused about that. I have ~30GB of free disk space, which seems like enough?
$ df -h ./
Filesystem Size Used Avail Use% Mounted on
/dev/root 146G 117G 29G 81% /
laanwj
commented at 9:51 AM on February 14, 2021:
member
i don't know ? gitiian deletes the intermediate build files between builds for each architecture, i don't know if the GUIX build currently does; fwiw my GUIX VM after the build:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 79G 61G 15G 81% /
MarcoFalke
commented at 10:19 AM on February 14, 2021:
member
dongcarl removed the label Waiting for author on Feb 22, 2021
laanwj
commented at 5:58 PM on February 22, 2021:
member
Shall we set the umask to 0022 at the beginning of our guix-build.sh script?
Maybe. I'm a bit disappointed that Guix doesn't handle this itself! It seems like one of the first things you'd want to be robust against (apart from time, environment, username) when doing deterministic builds.
That said sure we can do it as a workaround. Could also do it incontrib/guix/libexec/build.sh.
dongcarl
commented at 7:00 PM on February 22, 2021:
contributor
I'm a bit disappointed that Guix doesn't handle this itself! It seems like one of the first things you'd want to be robust against (apart from time, environment, username) when doing deterministic builds.
To be clear, when guix-daemon is building a package in its isolated container (for us, that is all the packages in our manifest.scm), umaskis set. I think guix environment doesn't set it because it's meant to be more of an "overlay" on top of your existing system (at least when --container is not supplied).
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-05-20 06:54 UTC