Closed mohammed90 closed 6 months ago
I have opened issues upstream:
I've also removed those platforms from our download page for the time being. Too bad. :(
I have opened issues upstream:
* https://discuss.dgraph.io/t/build-failure-for-goos-solaris-illumos-plan9/9145?u=mholt * [etcd-io/bbolt#231](https://github.com/etcd-io/bbolt/issues/231) * [chzyer/readline#188](https://github.com/chzyer/readline/issues/188)
I've also removed those platforms from our download page for the time being. Too bad. :(
There's one item in this stream 🙂
# github.com/caddyserver/caddy/v2/cmd
../proc_posix.go:28:9: undefined: syscall.Kill
It's a thoughie because there's no equivalent to syscall.Kill
on Plan9. If all upstream issues are resolved, we might need to resort to shell command to issue kill command.
There's one item in this stream 🙂
Yeah, but that one won't be too hard -- like you said, a shell command or something: https://en.wikipedia.org/wiki/Kill_(command)#Plan_9_from_Bell_Labs kill caddy | rc
Tbh I'm skeptical that the upstream ones will be resolved though.
Dgraph fixing builds for Plan9; looking into Solaris: https://discuss.dgraph.io/t/build-failure-for-goos-solaris-illumos-plan9/9145/3?u=mholt
Joyent's pkgsrc somehow manages to compile caddy on illumos, but it is with no packages.
Looks like it's working everywhere except plan9 now! https://github.com/caddyserver/caddy/actions/runs/1152172382
Errors I see from trying to build it locally:
# go.etcd.io/bbolt
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\db.go:223:12: undefined: flock
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\db.go:360:12: undefined: mmap
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\db.go:382:12: undefined: munmap
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\db.go:462:12: undefined: fdatasync
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\db.go:507:14: undefined: funlock
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\db.go:867:37: undefined: fdatasync
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\tx.go:559:13: undefined: fdatasync
..\..\..\..\go\pkg\mod\go.etcd.io\bbolt@v1.3.5\tx.go:596:13: undefined: fdatasync
# github.com/chzyer/readline
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\operation.go:234:4: undefined: ClearScreen
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\readline.go:129:20: undefined: GetScreenWidth
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\readline.go:132:22: undefined: DefaultIsTerminal
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\readline.go:142:26: undefined: DefaultOnWidthChanged
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\remote.go:324:2: undefined: DefaultOnWidthChanged
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\remote.go:346:17: undefined: GetScreenWidth
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\remote.go:362:16: undefined: DefaultIsTerminal
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\terminal.go:51:2: undefined: SuspendMe
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\utils.go:81:29: undefined: State
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\utils.go:241:9: undefined: State
..\..\..\..\go\pkg\mod\github.com\chzyer\readline@v0.0.0-20180603132655-2972be24d48e\terminal.go:51:2: too many errors
# github.com/dgraph-io/badger/v2/y
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\file_dsync.go:24:21: undefined: unix.O_DSYNC
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:30:11: undefined: unix.PROT_READ
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:32:12: undefined: unix.PROT_WRITE
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:34:9: undefined: unix.Mmap
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:34:54: undefined: unix.MAP_SHARED
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:39:9: undefined: unix.Munmap
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:46:11: undefined: unix.MADV_NORMAL
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:48:11: undefined: unix.MADV_RANDOM
..\..\..\..\go\pkg\mod\github.com\dgraph-io\badger\v2@v2.2007.3\y\mmap_unix.go:50:9: undefined: unix.Madvise
Asked badger if they can backport their fixes for plan9 to their v2 branch: https://github.com/dgraph-io/badger/pull/1451#issuecomment-903453493
github.com\chzyer\readline
Looks essentially abandoned so we shouldn't hold our breath on that one.
Getting closer, sort of. Still builds for solaris OK, latest attempt at plan9 is now failing with:
$ GOOS=plan9 go build
# go.etcd.io/bbolt
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/db.go:230:12: undefined: flock
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/db.go:375:12: undefined: mmap
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/db.go:404:12: undefined: munmap
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/db.go:508:12: undefined: fdatasync
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/db.go:554:14: undefined: funlock
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/db.go:914:37: undefined: fdatasync
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/mlock_unix.go:14:17: undefined: unix.Mlock
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/mlock_unix.go:32:17: undefined: unix.Munlock
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/tx.go:558:13: undefined: fdatasync
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/tx.go:595:13: undefined: fdatasync
/home/matt/go/pkg/mod/go.etcd.io/bbolt@v1.3.6/tx.go:595:13: too many errors
# github.com/chzyer/readline
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/utils.go:81:29: undefined: State
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/utils.go:241:9: undefined: State
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/operation.go:234:4: undefined: ClearScreen
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/readline.go:129:20: undefined: GetScreenWidth
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/readline.go:132:22: undefined: DefaultIsTerminal
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/readline.go:142:26: undefined: DefaultOnWidthChanged
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/remote.go:324:2: undefined: DefaultOnWidthChanged
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/remote.go:346:17: undefined: GetScreenWidth
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/remote.go:362:16: undefined: DefaultIsTerminal
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/terminal.go:51:2: undefined: SuspendMe
/home/matt/go/pkg/mod/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e/terminal.go:51:2: too many errors
# github.com/tailscale/tscert/internal/paths
/home/matt/go/pkg/mod/github.com/tailscale/tscert@v0.0.0-20220316030059-54bbcb9f74e2/internal/paths/paths_unix.go:44:15: undefined: unix.Access
/home/matt/go/pkg/mod/github.com/tailscale/tscert@v0.0.0-20220316030059-54bbcb9f74e2/internal/paths/paths_unix.go:44:32: undefined: unix.O_RDWR
Welp, still the same result 2 years later. I don't think there's any hope of getting Caddy to build on Plan9 until the listed dependencies also support it. We could be more proactive about getting this done, but I think we'll only prioritize this if there's a real need and/or sponsorship to do so.
Initially reported by @Toasterson
Originally posted by @Toasterson in https://github.com/caddyserver/caddy/pull/3602#issuecomment-663876698
Build errors:
Solaris/Illumos
plan9:
Known as of v2.1.1, but issue could be extending back in history. Exact version/commit is pretty much irrelevant.