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

[BUG] Build failing with go version 1.23 #1902

Closed
aychocho opened this issue Oct 21, 2024 · 2 comments
Closed

[BUG] Build failing with go version 1.23 #1902

aychocho opened this issue Oct 21, 2024 · 2 comments
Labels
bug Something isn't working linear Created by Linear-GitHub Sync

Comments

@aychocho
Copy link

Seid version

This bug happens when installing/building v4.1.4-evm-devnet

Bug description

Attempting to run

make install

while utilizing Go version 1.23 throws the following error

link: github.com/fjl/memsize: invalid reference to runtime.stopTheWorld
make: *** [Makefile:69: install] Error 1 

This appears to be a known issue with the memsize package, checking the memsize README might provide a solution:

NOTE: As of Go 1.23, memsize no longer works because of a restriction added by the
Go toolchain. The Go 1.23 compiler no longer allows access to runtime symbols via
go:linkname, which prevents memsize from accessing the Stop-the-World
functionality of the Go runtime.

If your program depends on memsize, you can disable the restriction when building
your program:

go build -ldflags=-checklinkname=0

To Reproduce
Steps to reproduce the behavior:

  1. Run make install within sei-chain whilst Go 1.23 is installed

Additional context

Building with Go version 1.22.8 works fine

@aychocho aychocho added bug Something isn't working linear Created by Linear-GitHub Sync labels Oct 21, 2024
@cordt-sei
Copy link
Contributor

          It's a known issue.

Originally posted by @fjl in ethereum/go-ethereum#30100 (comment)

@galaxy-tbehrens
Copy link

galaxy-tbehrens commented Jan 10, 2025

I suggest to re-open this. It's easily fixed by applying the upstream patch: ethereum/go-ethereum@e467577

That's how Go-Ethereum and dependent projects have solved it, by removing memsize. The memsize author tried to get Go maintainers to allow memsize to work in 1.23, and that was not successful.

Go 1.22 goes EOL in February 2025.

@cordt-sei

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working linear Created by Linear-GitHub Sync
Projects
None yet
Development

No branches or pull requests

3 participants