Skip to content

Build fails with Go 1.24 #31072

@stefanb

Description

@stefanb

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions