showwin / speedtest-go

CLI and Go API to Test Internet Speed using speedtest.net
MIT License
570 stars 115 forks source link

supplied speedtest-go binary will not run on OpenBSD 7.5 GENERIC.MP #233

Open void-fm opened 1 month ago

void-fm commented 1 month ago

./speedtest-go speedtest-go:./speedtest-go: undefined symbol 'syscall' ld.so: speedtest-go: lazy binding failed! Killed

void-fm commented 1 month ago

workaround is to compile from source

  1. install go
  2. git clone https://github.com/showwin/speedtest-go.git
  3. go build
  4. doas mv speedtest-go /usr/local/bin
r3inbowari commented 1 month ago

Hi, @void-fm what version of go binary are you using?

https://github.com/showwin/speedtest-go/blob/dd78c657d0f3a36cdf8623021fb00b0de6b3c958/speedtest/speedtest.go#L45 You can try to disable the code in this snippet. this system call interface may not be supported?

void-fm commented 1 month ago

Hi, @void-fm what version of go binary are you using?

speedtest-go_1.7.9_OpenBSD_arm64.tar.gz

https://github.com/showwin/speedtest-go/blob/dd78c657d0f3a36cdf8623021fb00b0de6b3c958/speedtest/speedtest.go#L45

You can try to disable the code in this snippet. this system call interface may not be supported?

syscall(2) was removed in i think OpenBSD 7.4, might be earlier. I'm running 7.5. I didn't have to modify any code.Building from source was sufficient for it to link correctly. The sources were downloaded with git. I guess the supplied binary was built on an old openbsd instance

r3inbowari commented 1 month ago

Hi, @void-fm what version of go binary are you using?

speedtest-go_1.7.9_OpenBSD_arm64.tar.gz

https://github.com/showwin/speedtest-go/blob/dd78c657d0f3a36cdf8623021fb00b0de6b3c958/speedtest/speedtest.go#L45

You can try to disable the code in this snippet. this system call interface may not be supported?

syscall(2) was removed in i think OpenBSD 7.4, might be earlier. I'm running 7.5. I didn't have to modify any code.Building from source was sufficient for it to link correctly. The sources were downloaded with git. I guess the supplied binary was built on an old openbsd instance

OK

r3inbowari commented 4 weeks ago

syscall(2) was removed in i think OpenBSD 7.4

Yes, I just noticed that they used the new ABI.

https://go-review.googlesource.com/c/go/+/582256 maybe we need to upgrade the go version in ci goreleaser to 1.23.2.

void-fm commented 4 weeks ago

% date && uname -mrsv && go version Wed Oct 30 12:28:01 GMT 2024 OpenBSD 7.6 GENERIC.MP#219 arm64 go version go1.23.1 openbsd/arm64

void-fm commented 4 weeks ago

os version was updated a couple of days ago

r3inbowari commented 4 weeks ago

there is a question about whether upgrading goreleaser will cause the package size to become larger.