Avatar
dannybuntu
1f9e547c2f31942623b8ad1d07713282e8640fd8cf474e9f79f18ace8af216ed
Open Source contributor to FOSS project walletscrutiny.com and nostr.info

Tried building Mixin Messenger for Linux (v2.2.0) from source — ran into a missing breakpad_client error. No buildable path without upstream fix.

🔧 GitHub Issue: https://github.com/MixinNetwork/flutter-app/issues/1747

🔍 WalletScrutiny Asset Info: https://walletscrutiny.com/asset/?sha256=3a7a89241119280ee9f8a054f07d11ac5e83e852635b7511b2dc93186c29304e

#ReproducibleBuilds #CryptoWallets #LinuxApps

🔎 Check out this asset information I registered on WalletScrutiny:

✅ Reproducible Electrum Windows Standalone Executable (v4.5.8)

Full verification and report available here:

https://walletscrutiny.com/asset/?sha256=b08e3626551a563fff4ce1e5d4ce52307722936bce18af3d9c140d7c67ffea7d

Independent reproducibility strengthens open-source security. 🔐

#ReproducibleBuilds #OpenSource #Electrum #WalletScrutiny

🚀 Successfully reproduced and verified Electrum 4.5.8 from source!

🔒 Full PGP verification passed — signatures from Thomas Voegtlin, Emzy, and SomberNight were ✅ ultimate trust ✅.

📜 SHA256 matched: dd8595a138132dee87cee76ce760a1d622fc2fd65d3b6ac7df7e53b7fb6ea7e8

🔎 See the full asset registered at WalletScrutiny:

👉 https://walletscrutiny.com/asset/?sha256=dd8595a138132dee87cee76ce760a1d622fc2fd65d3b6ac7df7e53b7fb6ea7e8

#Bitcoin #OpenSource #ReproducibleBuilds #Electrum #WalletScrutiny

Worked til 1 AM, age 43, feel like shit. Apologies if I am combative. I'm usually more mellow when well-rested.

GM! nostr. So. What are you building today?

Any chance that would get acquired for 31949.69 BTC?

($3 billion USD)

llm doesn't want to do the drake meme. just keeps on getting the hair (all of the hair) wrong. ;)

https://pbs.twimg.com/media/GpSljzzbYAIRr7E?format=jpg&name=small

🧱 Bitcoin Core Reproducible Build: Web of Trust Diagram

[1] Official Source Release (v29.0)

|

|---> Signed Git tag by maintainer (e.g., Glozow)

| |

| `---> Tag is GPG-signed by: F19F5FF2B0589EC341220045BA03F4DBE0C63FB4

|

[2] Independent Builders Clone Repo

|

|---> hebasto ---> git checkout v29.0

| ---> guix build

| ---> generate hash + .buildinfo + manifest

| ---> sign the hash with GPG

|

|---> fanquake ---> same steps

|

|---> others ---> same steps

|

[3] Submit signatures to guix.sigs

|

`---> Each signature (.sig) matches the same commit/hash

|

`---> Verified: Everyone built the exact same binary from the same source

[4] Anyone can verify:

|

|---> Compare hashes of downloaded binaries

|---> Check `.sig` files against public GPG keys of signers

|

`---> Trust is built because:

Multiple builders + identical outputs + verified GPG signatures

AHA! So this is why!!!

Ubuntu 24.04 breaks GUIX setup when trying to build Bitcoin Core Desktop

https://bugs.launchpad.net/ubuntu/+source/guix/+bug/2064115

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.

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

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

Now trying:

```

cd /tmp/bitcoin-guix-build/bitcoin

sudo chmod -R 777 .

```

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

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

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

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

```