dongcarl added this to the "PRs" column in a project
DrahtBot added the label
Build system
on Feb 5, 2021
DrahtBot added the label
Docs
on Feb 5, 2021
DrahtBot added the label
Scripts and tools
on Feb 5, 2021
MarcoFalke added the label
Needs Guix build
on Feb 6, 2021
DrahtBot removed the label
Needs Guix build
on Feb 8, 2021
MarcoFalke added the label
Needs Guix build
on Feb 8, 2021
laanwj
commented at 12:09 pm on February 8, 2021:
member
Changes look good to me, didn’t test or review in detail yet. Concept ACK.
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:
0user@guix:~/bitcoin$ ./contrib/guix/guix-build.sh
1/bin/sh: 1: gcc: not found
2/bin/sh: 1: gcc: not found
3/bin/sh: 1: g++: not found
4/bin/sh: 1: g++: not found
5env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang': No such file or directory
6env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang': No such file or directory
7env: '/home/user/bitcoin/depends/x86_64-apple-darwin18/native/bin/clang++': No such file or directory
8env: '/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:
member
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…
MarcoFalke deleted a comment
on Feb 11, 2021
MarcoFalke 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:
0# (copy in Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz through scp or such …) 1guix install git make curl
2git clone https://github.com/bitcoin/bitcoin.git
3cd bitcoin
4 5mkdir -p depends/SDKs
6cd depends/SDKs
7tar -zxf ~/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz
8cd ../..
910contrib/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:
0/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
1make[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?
0$ df -h ./
1Filesystem Size Used Avail Use% Mounted on
2/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:
0Filesystem Size Used Avail Use% Mounted on
1/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:
member
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).
dongcarl
commented at 9:41 pm on February 22, 2021:
member
I opened #21271 to fix the non-reproducibility separately. I think this PR is ready for merge.
fanquake approved
fanquake
commented at 2:41 am on February 23, 2021:
member
ACK95990b9f3278360b63e79d6975af4ab5009c66ba
fanquake merged this
on Feb 23, 2021
fanquake closed this
on Feb 23, 2021
fanquake moved this from the "Next (Not based on any other PRs)" to the "Done" column in a project
sidhujag referenced this in commit
c72fa49d30
on Feb 23, 2021
fanquake referenced this in commit
56f06a9863
on Feb 25, 2021
sidhujag referenced this in commit
cace0de111
on Feb 25, 2021
laanwj referenced this in commit
5ba5becbb5
on Feb 26, 2021
sidhujag referenced this in commit
8a1ee82c57
on Feb 26, 2021
fanquake referenced this in commit
d1abe54fce
on Mar 2, 2021
sidhujag referenced this in commit
3a367ef2d8
on Mar 2, 2021
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: 2024-11-17 15:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me