grafana / tempo

Grafana Tempo is a high volume, minimal dependency distributed tracing backend.
https://grafana.com/oss/tempo/
GNU Affero General Public License v3.0
4.02k stars 521 forks source link

Compiling the tempo CLI fails with go 1.23 on openSUSE? #4086

Open johanneskastl opened 1 month ago

johanneskastl commented 1 month ago

Describe the bug I am packaging the tempo CLI for openSUSE. The package fails to build on all build targets that are using go1.23. Older targets that only have go1.22 are building fine.

[   35s] + go build -mod=vendor -buildmode=pie '-ldflags=    -X main.Branch=v2.6.0    -X main.Revision=e85bbc57    -X main.Version=2.6.0' -o bin/tempo-cli ./cmd/tempo-cli
[   51s] # github.com/grafana/pyroscope-go/godeltaprof/internal/pprof
[   51s] vendor/github.com/grafana/pyroscope-go/godeltaprof/internal/pprof/delta_mutex.go:30:20: undefined: runtime_cyclesPerSecond
[   51s] vendor/github.com/grafana/pyroscope-go/godeltaprof/internal/pprof/proto.go:320:8: undefined: runtime_expandFinalInlineFrame
[   85s] error: Bad exit status from /var/tmp/rpm-tmp.i0uDKH (%build)

This happens with v2.5.0 and v2.6.0.

Manually overriding the go version on e.g. Tumbleweed to go1.22 fixes the issue and the build succeeds.

Kind Regards, Johannes

mapno commented 1 month ago

Hi, thanks for reporting. Apparently, it's been fixed in godeltaprof (https://github.com/grafana/pyroscope-go/pull/119) and updated in Tempo (https://github.com/grafana/tempo/pull/4006). But the change didn't make it to v2.6. We'd need to patch those releases for this to work without the override.