Bitcoin Core v29 Deterministic Build Attempt 2025-04-17.1616

```

dannybuntu@MS-7978:~/work/builds/desktop/bitcoin$ env HOSTS="x86_64-linux-gnu" ./contrib/guix/guix-build

Checking that we can connect to the guix-daemon...

Hint: If this hangs, you may want to try turning your guix-daemon off and on

again.

make: Entering directory '/home/dannybuntu/work/builds/desktop/bitcoin/depends'

make[1]: Entering directory '/home/dannybuntu/work/builds/desktop/bitcoin/depends'

make[1]: Leaving directory '/home/dannybuntu/work/builds/desktop/bitcoin/depends'

make: Leaving directory '/home/dannybuntu/work/builds/desktop/bitcoin/depends'

INFO: Building 29.0 for platform triple x86_64-linux-gnu:

...using reference timestamp: 1744384813

...running at most 4 jobs

...from worktree directory: '/home/dannybuntu/work/builds/desktop/bitcoin'

...bind-mounted in container to: '/bitcoin'

...in build directory: '/home/dannybuntu/work/builds/desktop/bitcoin/guix-build-29.0/distsrc-29.0-x86_64-linux-gnu'

...bind-mounted in container to: '/distsrc-base/distsrc-29.0-x86_64-linux-gnu'

...outputting in: '/home/dannybuntu/work/builds/desktop/bitcoin/guix-build-29.0/output/x86_64-linux-gnu'

...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu'

ADDITIONAL FLAGS (if set)

ADDITIONAL_GUIX_COMMON_FLAGS:

ADDITIONAL_GUIX_ENVIRONMENT_FLAGS:

ADDITIONAL_GUIX_TIMEMACHINE_FLAGS:

guix shell: error: mount: mount "none" on "/tmp/guix-directory.oNb3QP": Permission denied

```

Reply to this note

Please Login to reply.

Discussion

Suggested fix

# 1. Ensure daemon is running

sudo systemctl restart guix-daemon

# 2. Ensure you own everything

sudo chown -R $USER:$USER ~/work/builds/desktop/bitcoin

# 3. Build as your user (NO SUDO)

cd ~/work/builds/desktop/bitcoin

env HOSTS="x86_64-linux-gnu" ./contrib/guix/guix-build

tried:

$ sudo env HOSTS="x86_64-linux-gnu" ./contrib/guix/guix-build --container --share=$PWD

[sudo] password for danny:

Checking that we can connect to the guix-daemon...

Hint: If this hangs, you may want to try turning your guix-daemon off and on

again.

make: Entering directory '/home/danny/work/builds/desktop/bitcoin/depends'

make[1]: Entering directory '/home/danny/work/builds/desktop/bitcoin/depends'

make[1]: Leaving directory '/home/danny/work/builds/desktop/bitcoin/depends'

make: Leaving directory '/home/danny/work/builds/desktop/bitcoin/depends'

INFO: Building 29.0 for platform triple x86_64-linux-gnu:

...using reference timestamp: 1744384813

...running at most 8 jobs

...from worktree directory: '/home/danny/work/builds/desktop/bitcoin'

...bind-mounted in container to: '/bitcoin'

...in build directory: '/home/danny/work/builds/desktop/bitcoin/guix-build-29.0/distsrc-29.0-x86_64-linux-gnu'

...bind-mounted in container to: '/distsrc-base/distsrc-29.0-x86_64-linux-gnu'

...outputting in: '/home/danny/work/builds/desktop/bitcoin/guix-build-29.0/output/x86_64-linux-gnu'

...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu'

ADDITIONAL FLAGS (if set)

ADDITIONAL_GUIX_COMMON_FLAGS:

ADDITIONAL_GUIX_ENVIRONMENT_FLAGS:

ADDITIONAL_GUIX_TIMEMACHINE_FLAGS:

guix shell: error: statfs: /home/danny/work/builds/desktop/bitcoin: Permission denied

Now trying:

```

cd /tmp/bitcoin-guix-build/bitcoin

sudo chmod -R 777 .

```

It looks... like... it's actually building...

New problem:

To build Bitcoin Core with these packages, pass '--toolchain /bitcoin/depends/x86_64-linux-gnu/toolchain.cmake' to the first CMake invocation.

make: Leaving directory '/bitcoin/depends'

fatal: detected dubious ownership in repository at '/bitcoin'

To add an exception for this directory, call:

git config --global --add safe.directory /bitcoin

Yet another instance of "FAFO"

which spawned a bunch of new problems:

$ sudo env FORCE_DIRTY_WORKTREE=1 HOSTS="x86_64-linux-gnu" ./contrib/guix/guix-build

Checking that we can connect to the guix-daemon...

Hint: If this hangs, you may want to try turning your guix-daemon off and on

again.

make: Entering directory '/tmp/bitcoin-guix-build/bitcoin/depends'

make[1]: Entering directory '/tmp/bitcoin-guix-build/bitcoin/depends'

make[1]: Leaving directory '/tmp/bitcoin-guix-build/bitcoin/depends'

make: Leaving directory '/tmp/bitcoin-guix-build/bitcoin/depends'

INFO: Building 29.0 for platform triple x86_64-linux-gnu:

...using reference timestamp: 1744384813

...running at most 8 jobs

...from worktree directory: '/tmp/bitcoin-guix-build/bitcoin'

...bind-mounted in container to: '/bitcoin'

...in build directory: '/tmp/bitcoin-guix-build/bitcoin/guix-build-29.0/distsrc-29.0-x86_64-linux-gnu'

...bind-mounted in container to: '/distsrc-base/distsrc-29.0-x86_64-linux-gnu'

...outputting in: '/tmp/bitcoin-guix-build/bitcoin/guix-build-29.0/output/x86_64-linux-gnu'

...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu'

ADDITIONAL FLAGS (if set)

ADDITIONAL_GUIX_COMMON_FLAGS:

ADDITIONAL_GUIX_ENVIRONMENT_FLAGS:

ADDITIONAL_GUIX_TIMEMACHINE_FLAGS:

Required environment variables as seen inside the container:

DIST_ARCHIVE_BASE: /outdir-base/dist-archive

DISTNAME: bitcoin-29.0

HOST: x86_64-linux-gnu

SOURCE_DATE_EPOCH: 1744384813

JOBS: 8

DISTSRC: /distsrc-base/distsrc-29.0-x86_64-linux-gnu

OUTDIR: /outdir-base/x86_64-linux-gnu

make: Entering directory '/bitcoin/depends'

copying packages: boost libevent qt expat libxcb xcb_proto libXau xproto freetype fontconfig libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm qrencode bdb sqlite systemtap zeromq

to: /bitcoin/depends/x86_64-linux-gnu

To build Bitcoin Core with these packages, pass '--toolchain /bitcoin/depends/x86_64-linux-gnu/toolchain.cmake' to the first CMake invocation.

make: Leaving directory '/bitcoin/depends'

tar: This does not look like a tar archive

gzip: stdin: unexpected end of file

tar: Child returned status 1

tar: Error is not recoverable: exiting now

I'm exhausted, especially with the added stress of this sordid heat and the holy week chanting around us in loudspeaker.

The changes that the LLM has dug me a deeper hole. If it's reproducible I shouldn't have to modify any of the scripts within the repository.

Perhaps, I should just follow the instructions for the general build here:

https://github.com/bitcoin/bitcoin/blob/cdc32994feadf3f15df3cfac5baae36b4b011462/contrib/guix/README.md?plain=1#L56 - builds all variants - takes a long time.