tklauser / go-sysconf

sysconf for Go, without using cgo
https://pkg.go.dev/github.com/tklauser/go-sysconf
BSD 3-Clause "New" or "Revised" License
141 stars 27 forks source link

sysconf_values_linux_riscv64.go:7:24: _AIO_PRIO_DELTA_MAX redeclared in this block #26

Closed gubatron closed 3 years ago

gubatron commented 3 years ago

By trying to build https://github.com/shirou/gopsutil which uses go-sysconf as a dependency I keep getting this error, not sure if it's gopsutil's author mistake or if something is broken over here, just to let you know.

# github.com/tklauser/go-sysconf
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:7:24: _AIO_PRIO_DELTA_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:7:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:8:24: _BC_BASE_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:8:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:9:24: _BC_DIM_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:9:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:10:24: _BC_SCALE_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:10:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:11:24: _BC_STRING_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:11:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:12:24: _COLL_WEIGHTS_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:12:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:13:24: _DELAYTIMER_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:13:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:14:24: _EXPR_NEST_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:14:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:15:24: _HOST_NAME_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:15:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:16:24: _LINE_MAX redeclared in this block
    previous declaration at ../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_amd64.go:16:24
../../../go/src/github.com/tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:16:24: too many errors
gubatron commented 3 years ago

go get -u breaks on Linux

$ go get -u github.com/tklauser/go-sysconf
# github.com/tklauser/go-sysconf
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:7:24: _AIO_PRIO_DELTA_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:7:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:8:24: _BC_BASE_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:8:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:9:24: _BC_DIM_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:9:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:10:24: _BC_SCALE_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:10:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:11:24: _BC_STRING_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:11:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:12:24: _COLL_WEIGHTS_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:12:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:13:24: _DELAYTIMER_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:13:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:14:24: _EXPR_NEST_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:14:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:15:24: _HOST_NAME_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:15:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:16:24: _LINE_MAX redeclared in this block
    previous declaration at tklauser/go-sysconf/zsysconf_values_linux_amd64.go:16:24
tklauser/go-sysconf/zsysconf_values_linux_riscv64.go:16:24: too many errors
ubuntu@dos:~/go/src/github.com$ uname -a
Linux dos.diariobitcoin.com 5.4.0-1037-aws #39~18.04.1-Ubuntu SMP Fri Jan 15 02:48:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

go get -u works on mac

$ go get -u github.com/tklauser/go-sysconf
go: downloading github.com/tklauser/go-sysconf v0.3.8
go: downloading github.com/tklauser/numcpus v0.2.3
go: downloading golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71
go: downloading github.com/tklauser/numcpus v0.3.0
go: downloading golang.org/x/sys v0.0.0-20210820121016-41cdb8703e55
tklauser commented 3 years ago

Thanks for the report. Which version of Go are you using on Linux? It seems the version you're using doesn't know about GOARCH=riscv64 yet (i.e. Go 1.10 or earlier).

In any case, I'll add build tags to the generated files which should fix this for older Go versions as well.