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

Can't compile with Golang 1.23 toolchain #348

Closed
sonic-martin opened this issue Aug 16, 2024 · 1 comment · Fixed by #349
Closed

Can't compile with Golang 1.23 toolchain #348

sonic-martin opened this issue Aug 16, 2024 · 1 comment · Fixed by #349
Labels
bug Something isn't working

Comments

@sonic-martin
Copy link

sonic-martin commented Aug 16, 2024

What happened?

After upgrading my Golang toolchain to 1.23 on my Ubuntu running in WSL the compilation of bigquery-emulator fails:

link: github.com/segmentio/parquet-go/hashprobe/aeshash: invalid reference to runtime.aeskeysched

What did you expect to happen?

Successful compilation.

How can we reproduce it (as minimally and precisely as possible)?

$ go version
go version go1.23.0 linux/amd64
$ CGO_ENABLED=1 CXX="clang++" go install github.com/goccy/bigquery-emulator/cmd/bigquery-emulator@v0.6.4
# github.com/goccy/bigquery-emulator/cmd/bigquery-emulator
link: github.com/segmentio/parquet-go/hashprobe/aeshash: invalid reference to runtime.aeskeysched

Anything else we need to know?

According to parquet-go/parquet-go#142 the root cause probably is this change from Go 1.23:

The linker now disallows using a //go:linkname directive to refer to internal symbols in the standard library (including the runtime) that are not marked with //go:linkname on their definitions. Similarly, the linker disallows references to such symbols from assembly code. For backward compatibility, existing usages of //go:linkname found in a large open-source code corpus remain supported. Any new references to standard library internal symbols will be disallowed.

According to grafana/pyroscope#3485 this can be fixed by upgrading parquet-go to v0.23.0

@sonic-martin sonic-martin added the bug Something isn't working label Aug 16, 2024
stefanb added a commit to Homebrew/homebrew-core that referenced this issue Aug 18, 2024
use "go" again after goccy/bigquery-emulator#348 is fixed and released

follow-up after #175310
@jordanfowler
Copy link
Contributor

Quick note, this might be fixed by using the non-archived version of parquet-go, now located here: https://github.com/parquet-go/parquet-go

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

Successfully merging a pull request may close this issue.

2 participants