-
Notifications
You must be signed in to change notification settings - Fork 18.8k
Closed
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.arch-loong64Issues solely affecting the loongson architecture.Issues solely affecting the loongson architecture.help wanted
Milestone
Description
Go version
go version go1.23.4 linux/amd64
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/brian/.cache/go-build'
GOENV='/home/brian/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/brian/.go/pkg/mod'
GONOPROXY='nemu.us/*'
GONOSUMDB='nemu.us/*'
GOOS='linux'
GOPATH='/home/brian/.go'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.23.4'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/home/brian/.config/go/telemetry'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/home/brian/nemu-hc/nemu/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3390701732=/tmp/go-build -gno-record-gcc-switches'What did you do?
Using a very simple example:
package main
import (
"github.com/aarzilli/nucular"
"image"
)
func main() {
win := nucular.NewMasterWindowSize(
0, "Sample Window", image.Point{100, 100},
func(w *nucular.Window) {
w.Row(0).Dynamic(1)
w.Label("This won't build if GOARCH=loong64", "LC")
},
)
win.Main()
}
What did you see happen?
It works on the platforms defined in the buildtags, but not loong64:
$ GOARCH=amd64 go build && echo worked
worked
$ GOARCH=arm64 go build && echo worked
worked
$ GOARCH=mips64 go build && echo worked
worked
$ GOARCH=loong64 go build && echo worked
# golang.org/x/exp/shiny/driver/x11driver
../.go/pkg/mod/golang.org/x/exp/shiny@v0.0.0-20220827204233-334a2380cb91/driver/x11driver/buffer.go:112:12: undefined: shmClose
../.go/pkg/mod/golang.org/x/exp/shiny@v0.0.0-20220827204233-334a2380cb91/driver/x11driver/screen.go:328:23: undefined: shmOpen
../.go/pkg/mod/golang.org/x/exp/shiny@v0.0.0-20220827204233-334a2380cb91/driver/x11driver/screen.go:334:5: undefined: shmClose
What did you expect to see?
Simple fix seems to be to modify the source:
$ diff shm_sysopen_syscall.go~ shm_sysopen_syscall.go
5c5
< //go:build (linux || dragonfly) && (amd64 || arm || arm64 || mips64 || mips64le)
---
> //go:build (linux || dragonfly) && (amd64 || arm || arm64 || mips64 || mips64le || loong64)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.arch-loong64Issues solely affecting the loongson architecture.Issues solely affecting the loongson architecture.help wanted