Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails with Go 1.24 #31072

Open
stefanb opened this issue Jan 23, 2025 · 3 comments
Open

Build fails with Go 1.24 #31072

stefanb opened this issue Jan 23, 2025 · 3 comments
Labels

Comments

@stefanb
Copy link

stefanb commented Jan 23, 2025

System information

Geth version: geth version 1.14.12
CL client & version: e.g. lighthouse/nimbus/[email protected]
OS & Version: Windows/Linux/OSX
Commit hash : (if develop)

Expected behaviour

The build should succeed when building with Go 1.24 (rc1 & rc2), tried in

Actual behaviour

The build fails.

Steps to reproduce the behaviour

  1. Install Go 1.24 (rc1 or rc2)
  2. Build

Backtrace

make all
  Last 150 lines from /Users/brew/actions-runner/_work/homebrew-core/homebrew-core/bottles/logs/ethereum/01.make:
  2025-01-17 03:29:40 +0000
  
  make
  all
  
  go run build/ci.go install
  go: downloading github.com/cespare/cp v0.1.0
  go: downloading github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0
  go: downloading golang.org/x/crypto v0.22.0
  go: downloading github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0
  go: downloading github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0
  go: downloading golang.org/x/net v0.24.0
  >>> /opt/homebrew/Cellar/go/1.24rc2/libexec/bin/go build -ldflags "--buildid=none -s" -tags urfave_cli_no_docs,ckzg -trimpath -v -o /private/tmp/ethereum-20250116-97043-6ielga/go-ethereum-1.14.12/build/bin/abidump ./cmd/abidump
  go: downloading github.com/holiman/uint256 v1.3.1
  go: downloading github.com/crate-crypto/go-kzg-4844 v1.0.0
  go: downloading github.com/ethereum/c-kzg-4844 v1.0.0
  go: downloading github.com/ethereum/go-verkle v0.1.1-0.20240829091221-dffa7562dbe9
  go: downloading github.com/crate-crypto/go-ipa v0.0.0-20240223125850-b1e8a79f509c
  go: downloading golang.org/x/sync v0.7.0
  go: downloading github.com/consensys/gnark-crypto v0.12.1
  go: downloading golang.org/x/sys v0.22.0
  go: downloading github.com/bits-and-blooms/bitset v1.13.0
  go: downloading github.com/consensys/bavard v0.1.13
  go: downloading rsc.io/tmplfunc v0.0.3
  go: downloading github.com/mmcloughlin/addchain v0.4.0
  go: downloading github.com/supranational/blst v0.3.13
  github.com/ethereum/go-ethereum/params/forks
  golang.org/x/crypto/sha3
  github.com/holiman/uint256
  github.com/ethereum/go-ethereum/common/math
  github.com/ethereum/go-ethereum/rlp/internal/rlpstruct
  rsc.io/tmplfunc/internal/parse
  github.com/mmcloughlin/addchain/internal/bigint
  runtime/cgo
  github.com/mmcloughlin/addchain/internal/bigints
  github.com/ethereum/go-ethereum/common/hexutil
  github.com/ethereum/go-ethereum/rlp
  rsc.io/tmplfunc
  github.com/ethereum/go-ethereum/common
  github.com/consensys/bavard
  github.com/mmcloughlin/addchain
  github.com/mmcloughlin/addchain/internal/errutil
  github.com/mmcloughlin/addchain/internal/print
  github.com/mmcloughlin/addchain/internal/container/heap
  github.com/mmcloughlin/addchain/acc/ir
  github.com/mmcloughlin/addchain/acc/ast
  github.com/mmcloughlin/addchain/alg
  github.com/mmcloughlin/addchain/acc/pass
  github.com/mmcloughlin/addchain/acc/parse/internal/parser
  github.com/mmcloughlin/addchain/acc/printer
  github.com/mmcloughlin/addchain/alg/contfrac
  github.com/mmcloughlin/addchain/internal/bigvector
  github.com/mmcloughlin/addchain/alg/dict
  github.com/mmcloughlin/addchain/alg/heuristic
  github.com/mmcloughlin/addchain/acc/parse
  github.com/mmcloughlin/addchain/alg/opt
  github.com/mmcloughlin/addchain/alg/exec
  github.com/mmcloughlin/addchain/acc
  github.com/mmcloughlin/addchain/alg/ensemble
  github.com/mmcloughlin/addchain/meta
  github.com/bits-and-blooms/bitset
  github.com/consensys/gnark-crypto/field/hash
  github.com/consensys/gnark-crypto/field/generator/internal/addchain
  github.com/consensys/gnark-crypto/field/pool
  golang.org/x/sys/cpu
  github.com/consensys/gnark-crypto/field/generator/config
  github.com/consensys/gnark-crypto/internal/parallel
  golang.org/x/sync/errgroup
  github.com/consensys/gnark-crypto/internal/generator/config
  github.com/consensys/gnark-crypto/ecc/bls12-381/fp
  github.com/consensys/gnark-crypto/ecc/bls12-381/fr
  github.com/consensys/gnark-crypto/ecc
  github.com/ethereum/go-ethereum/log
  github.com/ethereum/go-ethereum/params
  github.com/consensys/gnark-crypto/ecc/bls12-381/internal/fptower
  github.com/crate-crypto/go-kzg-4844/internal/utils
  github.com/crate-crypto/go-ipa/bandersnatch/fr
  github.com/consensys/gnark-crypto/ecc/bls12-381
  github.com/consensys/gnark-crypto/ecc/bls12-381/bandersnatch
  github.com/crate-crypto/go-ipa/bandersnatch/fp
  github.com/crate-crypto/go-ipa/common/parallel
  github.com/ethereum/go-ethereum/common/mclock
  github.com/crate-crypto/go-ipa/bandersnatch
  github.com/ethereum/go-ethereum/event
  github.com/crate-crypto/go-ipa/banderwagon
  github.com/crate-crypto/go-ipa/common
  github.com/crate-crypto/go-ipa/ipa
  github.com/crate-crypto/go-ipa
  github.com/crate-crypto/go-kzg-4844/internal/multiexp
  github.com/crate-crypto/go-kzg-4844/internal/kzg
  github.com/ethereum/go-verkle
  github.com/crate-crypto/go-kzg-4844
  github.com/ethereum/go-ethereum/crypto/secp256k1
  github.com/supranational/blst/bindings/go
  # github.com/supranational/blst/bindings/go
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:237:11: cannot define new methods on non-local type SecretKey
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:324:15: cannot define new methods on non-local type SecretKey
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:444:11: cannot define new methods on non-local type Fp12
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:448:11: cannot define new methods on non-local type Fp12
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:452:11: cannot define new methods on non-local type Fp12
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:456:11: cannot define new methods on non-local type Fp12
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:462:12: cannot define new methods on non-local type Fp12
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:482:11: cannot define new methods on non-local type P1Affine
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:487:11: cannot define new methods on non-local type P1Affine
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:495:12: cannot define new methods on non-local type P2Affine
  /Users/brew/Library/Caches/Homebrew/go_mod_cache/pkg/mod/github.com/supranational/[email protected]/bindings/go/blst.go:495:12: too many errors
  github.com/ethereum/go-ethereum/crypto
  github.com/ethereum/go-ethereum/accounts/abi
  util.go:47: exit status 1
  exit status 1
  make: *** [all] Error 1

The above build log suggests that the error is in the upstream Go module github.com/supranational/blst with known issue:

@stefanb stefanb changed the title Not buildable with Go 1.24 Build fails with Go 1.24 Jan 23, 2025
@rjl493456442
Copy link
Member

We should upgrade the dependency once the fixed is released in the supranational/blst

@fjl
Copy link
Contributor

fjl commented Jan 30, 2025

Build issue is fixed upstream in supranational/blst#247

@stefanb
Copy link
Author

stefanb commented Jan 30, 2025

Yep, that still unmerged upstream PR is linked in this issue description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants