muesli / beehive

A flexible event/agent & automation system with lots of bees 🐝
GNU Affero General Public License v3.0
6.28k stars 319 forks source link

/bin/go-bindata: not found #245

Closed rocket357 closed 5 years ago

rocket357 commented 5 years ago

test$ git clone https://github.com/muesli/beehive.git Cloning into 'beehive'... remote: Enumerating objects: 18, done. remote: Counting objects: 100% (18/18), done. remote: Compressing objects: 100% (15/15), done. remote: Total 5350 (delta 4), reused 12 (delta 2), pack-reused 5332 Receiving objects: 100% (5350/5350), 6.81 MiB | 1.47 MiB/s, done. Resolving deltas: 100% (3243/3243), done.

test$ cd beehive/ test$ make [ -d .git ] && git submodule update --init || true Submodule 'config' (https://github.com/muesli/beehive-admin-dist.git) registered for path 'config' Cloning into '/home/beehive/beehive/config'... Submodule path 'config': checked out '648f36d9834df3e2bac54009303e82ac272b68ca' [ -f /bin/go-bindata ] || go get -u github.com/kevinburke/go-bindata/go-bindata go: finding github.com/kevinburke/go-bindata/go-bindata latest /bin/go-bindata --tags embed --pkg api -o api/bindata.go --ignore config/.git assets/... config/... /bin/go-bindata: not found

test$ find / -name go-bindata 2>/dev/null /home/beehive/go/pkg/mod/cache/download/github.com/kevinburke/go-bindata /home/beehive/go/pkg/mod/github.com/kevinburke/go-bindata@v3.13.0+incompatible/go-bindata /home/beehive/go/bin/go-bindata

I'm assuming /home/beehive/go/bin/go-bindata is what it is looking for. Should it be hard-coded for /bin/go-bindata?

rocket357 commented 5 years ago

bah, nevermind. $GOPATH wasn't set. =)

muesli commented 5 years ago

This should have worked without $GOPATH being set, as well. Or at least that's what I thought it would. Will re-open and investigate. Thanks for reporting!

rocket357 commented 5 years ago

Apologies, closed a bit early. Even with GOPATH set, it is attempting to run /bin/go-bindata, which fails.

test$ uname -a OpenBSD test.j3z.local 6.5 GENERIC.MP#3 amd64

test$ go version go version go1.11 openbsd/amd64

Cloned into /home/beehive/beehive.

test$ echo $PATH /home/beehive/bin:/home/beehive/go/bin:/home/beehive/beehive/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games

test$ echo $GOPATH /home/beehive/go

rocket357 commented 5 years ago

I should mention, $(shell go env GOPATH) (in Makefile a few times) doesn't produce the expected output on OpenBSD.

rocket357 commented 5 years ago

gmake solves the $(shell go env GOPATH) issue, but now I'm hitting checksum mismatch:

go: verifying github.com/ChimeraCoder/anaconda@v2.0.0+incompatible: checksum mismatch downloaded: h1:slAmCJMpjEztM42qRfhFkh3gBLHnIUUmlMK5zFd60Pc= go.sum: h1:F0eD7CHXieZ+VLboCD5UAqCeAzJZxcr90zSCcuJopJs= gmake: *** [Makefile:20: build] Error 1

muesli commented 5 years ago

Try and wipe the Go modules build cache with go clean -modcache. I'm fairly sure the checksum should be fine, as the CI would have already complained about it otherwise. Unless there's another BSD related issue I'm not aware of that influences the checksum calculation (build tags? who knows).

rocket357 commented 5 years ago

Still an issue with go clean -modcache. I nuked the /home/beehive/beehive and /home/beehive/go directories and started fresh with gmake, but I'm still getting the checksum error.

I ran across this: https://github.com/golang/go/issues/29278 This suggests go prior to 1.11.4 generated checksums a specific way, and some symlinks failed to be taken into consideration. As such, I'm going to upgrade to OpenBSD-CURRENT (go-1.12.4) and test again.

muesli commented 5 years ago

@rocket357 Thanks for looking into this. Please let us know if you figure out what's going on!

rocket357 commented 5 years ago

Updating to 1.12.4 resolves the checksum issues, however, I am now running into undefined symbols:

github.com/guelfey/go.dbus

../go/pkg/mod/github.com/guelfey/go.dbus@v0.0.0-20131113121618-f6a3a2366cc3/transport_unixcred.go:12:12: undefined: syscall.Ucred ../go/pkg/mod/github.com/guelfey/go.dbus@v0.0.0-20131113121618-f6a3a2366cc3/transport_unixcred.go:13:7: undefined: syscall.UnixCredentials

github.com/jacobsa/go-serial/serial

../go/pkg/mod/github.com/jacobsa/go-serial@v0.0.0-20180131005756-15cf729a72d4/serial/serial.go:165:9: undefined: openInternal gmake: *** [Makefile:20: build] Error 2

Reaching out to the rest of the OpenBSD ports team to see if this is specific to Go on OpenBSD.

muesli commented 5 years ago

I guess we'll have to disable the dbus and serial hives for BSD (for now at least). I can try to quickly commit that, but I'll have to rely on you testing it - unless I'll try to quickly cross-compile it.

rocket357 commented 5 years ago

https://github.com/jacobsa/go-serial/pull/42

I mean, it's basically a noop, so yeah, disabling would work =) (and still no clue on the dbus syscall issues).

rocket357 commented 5 years ago

And I'd be happy to test.

muesli commented 5 years ago

Ok, just pushed. Give it a shot!

rocket357 commented 5 years ago

Builds now. Thanks.

rocket357 commented 5 years ago

To the horror of my teenager, I spent a bit playing around with the discord bee in particular, seems to work just fine on OpenBSD.

Thanks!