Skip to content

Updated prysm and geth to versions that support pectra mainnet - #608

Closed
JulianGodd wants to merge 1 commit into
nix-community:mainfrom
JulianGodd:prysm-6.0.1-geth-1.15.11
Closed

JulianGodd wants to merge 1 commit into
nix-community:mainfrom
JulianGodd:prysm-6.0.1-geth-1.15.11

Conversation

@JulianGodd

Copy link
Copy Markdown
Contributor

prysm 5.3.0 -> 6.0.1
geth 1.15.9 -> 1.15.11

Updates for the Pectra mainnet changes.

Sorry if this isn't the correct way of moving this forward.

The build is failing due to the following error with prysm:

Building subPackage ./cmd/beacon-chain
# github.com/ethereum/c-kzg-4844/v2/bindings/go
vendor/github.com/ethereum/c-kzg-4844/v2/bindings/go/main.go:5:11: fatal error: ckzg.c: No such file or directory
    5 | // #include "ckzg.c"

I'm able to build from the prysm repo separately using go build -v ./... although I lack the familiarity with go to differentiate this from how the nix build works.

@bbjubjub2494

Copy link
Copy Markdown
Collaborator

geth is done in #613, you can continue this PR with just Prysm if you want.
I may have some time soon to look at where ckzg.c is and is supposed to be and why it's not finding it.
It's worth noting that Prysm recommends building using Bazel. I think there's a reason we don't do that though.

@JulianGodd

Copy link
Copy Markdown
Contributor Author

Awesome! I will make more attempts to make this work when I have time.

Lmk if it's more convenient for me to close this PR and open a new one if I manage to resolve this error.

@JulianGodd

Copy link
Copy Markdown
Contributor Author

I don't think we need to switch to bazel here as go build -v ./... works (unless this somehow uses bazel under the hood).

The file ckzg.c (v2.1.1) appears to be just a rename of c_kzg_4844.c (v1.0.0) and hasn't changed directory.

While these c files exist in the nix store, for both cases they exist in different directories than the ones listed in the error and the derivations that have them don't contain go bindings. Given that in the go bindings for 2.1.1 and 1.0.0 the path is relative I'm surprised these aren't either both working or both broken.

Do you know how I can view the exact commands nix uses to build here so I can replicate the error?

@bbjubjub2494

Copy link
Copy Markdown
Collaborator

I don't think we need to switch to bazel here as go build -v ./... works (unless this somehow uses bazel under the hood).

It doesn't seem to me like go build does that. Otherwise good, let's not touch Bazel at all if possible

The file ckzg.c (v2.1.1) appears to be just a rename of c_kzg_4844.c (v1.0.0) and hasn't changed directory.

Nice

While these c files exist in the nix store, for both cases they exist in different directories than the ones listed in the error and the derivations that have them don't contain go bindings. Given that in the go bindings for 2.1.1 and 1.0.0 the path is relative I'm surprised these aren't either both working or both broken.

🤷‍♀️

Do you know how I can view the exact commands nix uses to build here so I can replicate the error?

If I understood what you want, nix-shell -A packages.x86_64-linux.prysm should drop you in a shell environment that reflects the build sandbox (not perfectly!) From there, you can run the build phases manually

@selfuryon

Copy link
Copy Markdown
Collaborator

Hey! Did that here: #650

@selfuryon selfuryon closed this Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants