common-fate / granted

The easiest way to access your cloud.
https://granted.dev
MIT License
1.06k stars 93 forks source link

How to compile on Linux? #501

Open akeyd opened 1 year ago

akeyd commented 1 year ago

Running make on Fedora 38 with:

$ go version
go version go1.18 gccgo (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1) linux/amd64

gives:

$ make
go build -o ./bin/dgranted cmd/granted/main.go
# go.uber.org/zap
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:64:13: error: expected ‘(’
   64 | func Objects[T zapcore.ObjectMarshaler](key string, values []T) Field {
      |             ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:64:16: error: expected ‘]’
   64 | func Objects[T zapcore.ObjectMarshaler](key string, values []T) Field {
      |                ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:64:16: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:66:1: error: expected declaration
   66 | }
      | ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:68:16: error: expected ‘]’
   68 | type objects[T zapcore.ObjectMarshaler] []T
      |                ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:70:17: error: expected ‘)’
   70 | func (os objects[T]) MarshalLogArray(arr zapcore.ArrayEncoder) error {
      |                 ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:70:17: error: expected function name
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:70:17: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:72:48: error: expected declaration
   72 |                 if err := arr.AppendObject(o); err != nil {
      |                                                ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:74:17: error: expected declaration
   74 |                 }
      |                 ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:75:9: error: expected declaration
   75 |         }
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:76:9: error: expected declaration
   76 |         return nil
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:77:1: error: expected declaration
   77 | }
      | ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:81:27: error: expected ‘]’
   81 | type objectMarshalerPtr[T any] interface {
      |                           ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:83:9: error: expected declaration
   83 |         zapcore.ObjectMarshaler
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:84:1: error: expected declaration
   84 | }
      | ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:108:18: error: expected ‘(’
  108 | func ObjectValues[T any, P objectMarshalerPtr[T]](key string, values []T) Field {
      |                  ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:108:21: error: expected ‘]’
  108 | func ObjectValues[T any, P objectMarshalerPtr[T]](key string, values []T) Field {
      |                     ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:108:21: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:110:1: error: expected declaration
  110 | }
      | ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:112:21: error: expected ‘]’
  112 | type objectValues[T any, P objectMarshalerPtr[T]] []T
      |                     ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:114:22: error: expected ‘)’
  114 | func (os objectValues[T, P]) MarshalLogArray(arr zapcore.ArrayEncoder) error {
      |                      ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:114:22: error: expected function name
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:114:22: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:123:17: error: expected declaration
  123 |                 if err := arr.AppendObject(p); err != nil {
      |                 ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:123:48: error: expected declaration
  123 |                 if err := arr.AppendObject(p); err != nil {
      |                                                ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:125:17: error: expected declaration
  125 |                 }
      |                 ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:126:9: error: expected declaration
  126 |         }
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:127:9: error: expected declaration
  127 |         return nil
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:128:1: error: expected declaration
  128 | }
      | ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:145:15: error: expected ‘(’
  145 | func Stringers[T fmt.Stringer](key string, values []T) Field {
      |               ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:145:18: error: expected ‘]’
  145 | func Stringers[T fmt.Stringer](key string, values []T) Field {
      |                  ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:145:18: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:147:1: error: expected declaration
  147 | }
      | ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:149:18: error: expected ‘]’
  149 | type stringers[T fmt.Stringer] []T
      |                  ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:151:19: error: expected ‘)’
  151 | func (os stringers[T]) MarshalLogArray(arr zapcore.ArrayEncoder) error {
      |                   ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:151:19: error: expected function name
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:151:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:154:9: error: expected declaration
  154 |         }
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:155:9: error: expected declaration
  155 |         return nil
      |         ^
/home/a.key/.go/pkg/mod/go.uber.org/zap@v1.23.0/array_go118.go:156:1: error: expected declaration
  156 | }
      | ^
# github.com/urfave/cli/v2
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:15:21: error: expected ‘]’
   15 |         SliceFlag[T SliceFlagTarget[E], S ~[]E, E any] struct {
      |                     ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:15:43: error: invalid character 0x7e in input file
   15 |         SliceFlag[T SliceFlagTarget[E], S ~[]E, E any] struct {
      |                                           ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:19:9: error: expected identifier
   19 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:19:9: error: missing ‘)’
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:37:17: error: expected declaration
   37 |                 SetDestination(slice []E)
      |                 ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:39:17: error: expected declaration
   39 |                 GetDestination() []E
      |                 ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:40:9: error: expected declaration
   40 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:44:9: error: expected declaration
   44 |         MultiStringFlag = SliceFlag[*StringSliceFlag, []string, string]
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:48:9: error: expected declaration
   48 |         MultiFloat64Flag = SliceFlag[*Float64SliceFlag, []float64, float64]
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:52:9: error: expected declaration
   52 |         MultiInt64Flag = SliceFlag[*Int64SliceFlag, []int64, int64]
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:56:9: error: expected declaration
   56 |         MultiIntFlag = SliceFlag[*IntSliceFlag, []int, int]
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:58:9: error: expected declaration
   58 |         flagValueHook struct {
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:60:17: error: expected declaration
   60 |                 hook  func()
      |                 ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:61:9: error: expected declaration
   61 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:62:1: error: expected declaration
   62 | )
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:67:26: error: missing ‘)’
   67 |         _ SliceFlagTarget[string]  = (*StringSliceFlag)(nil)
      |                          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:67:56: error: expected ‘;’ or newline after top level declaration
   67 |         _ SliceFlagTarget[string]  = (*StringSliceFlag)(nil)
      |                                                        ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:68:9: error: expected declaration
   68 |         _ SliceFlagTarget[string]  = (*SliceFlag[*StringSliceFlag, []string, string])(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:69:9: error: expected declaration
   69 |         _ SliceFlagTarget[string]  = (*MultiStringFlag)(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:70:9: error: expected declaration
   70 |         _ SliceFlagTarget[float64] = (*MultiFloat64Flag)(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:71:9: error: expected declaration
   71 |         _ SliceFlagTarget[int64]   = (*MultiInt64Flag)(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:72:9: error: expected declaration
   72 |         _ SliceFlagTarget[int]     = (*MultiIntFlag)(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:74:9: error: expected declaration
   74 |         _ Generic    = (*flagValueHook)(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:75:9: error: expected declaration
   75 |         _ Serializer = (*flagValueHook)(nil)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:76:1: error: expected declaration
   76 | )
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:78:19: error: expected ‘)’
   78 | func (x *SliceFlag[T, S, E]) Apply(set *flag.FlagSet) error {
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:78:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:78:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:81:9: error: expected declaration
   81 |         destination := x.Destination
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:82:9: error: expected declaration
   82 |         if destination == nil {
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:85:17: error: expected declaration
   85 |                 return x.Target.Apply(set)
      |                 ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:86:9: error: expected declaration
   86 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:88:9: error: expected declaration
   88 |         x.Target.SetDestination(x.convertSlice(*destination))
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:90:9: error: expected declaration
   90 |         return applyFlagValueHook(set, x.Target.Apply, func() {
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:92:9: error: expected declaration
   92 |         })
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:93:1: error: expected declaration
   93 | }
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:95:19: error: expected ‘)’
   95 | func (x *SliceFlag[T, S, E]) convertSlice(slice S) []E {
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:95:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:95:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:97:9: error: expected declaration
   97 |         copy(result, slice)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:98:9: error: expected declaration
   98 |         return result
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:99:1: error: expected declaration
   99 | }
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:101:19: error: expected ‘)’
  101 | func (x *SliceFlag[T, S, E]) SetValue(slice S) {
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:101:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:101:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:103:1: error: expected declaration
  103 | }
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:105:19: error: expected ‘)’
  105 | func (x *SliceFlag[T, S, E]) SetDestination(slice S) {
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:105:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:105:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:108:9: error: expected declaration
  108 |         } else {
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:110:9: error: expected declaration
  110 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:111:1: error: expected declaration
  111 | }
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:113:19: error: expected ‘)’
  113 | func (x *SliceFlag[T, S, E]) GetDestination() S {
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:113:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:113:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:114:42: error: expected declaration
  114 |         if destination := x.Destination; destination != nil {
      |                                          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:116:9: error: expected declaration
  116 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:117:9: error: expected declaration
  117 |         return nil
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:118:1: error: expected declaration
  118 | }
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:120:19: error: expected ‘)’
  120 | func (x *SliceFlag[T, S, E]) String() string         { return x.Target.String() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:120:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:120:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:121:19: error: expected ‘)’
  121 | func (x *SliceFlag[T, S, E]) Names() []string        { return x.Target.Names() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:121:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:121:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:122:19: error: expected ‘)’
  122 | func (x *SliceFlag[T, S, E]) IsSet() bool            { return x.Target.IsSet() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:122:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:122:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:123:19: error: expected ‘)’
  123 | func (x *SliceFlag[T, S, E]) IsRequired() bool       { return x.Target.IsRequired() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:123:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:123:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:124:19: error: expected ‘)’
  124 | func (x *SliceFlag[T, S, E]) TakesValue() bool       { return x.Target.TakesValue() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:124:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:124:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:125:19: error: expected ‘)’
  125 | func (x *SliceFlag[T, S, E]) GetUsage() string       { return x.Target.GetUsage() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:125:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:125:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:126:19: error: expected ‘)’
  126 | func (x *SliceFlag[T, S, E]) GetValue() string       { return x.Target.GetValue() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:126:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:126:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:127:19: error: expected ‘)’
  127 | func (x *SliceFlag[T, S, E]) GetDefaultText() string { return x.Target.GetDefaultText() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:127:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:127:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:128:19: error: expected ‘)’
  128 | func (x *SliceFlag[T, S, E]) GetEnvVars() []string   { return x.Target.GetEnvVars() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:128:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:128:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:129:19: error: expected ‘)’
  129 | func (x *SliceFlag[T, S, E]) IsVisible() bool        { return x.Target.IsVisible() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:129:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:129:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:130:19: error: expected ‘)’
  130 | func (x *SliceFlag[T, S, E]) GetCategory() string    { return x.Target.GetCategory() }
      |                   ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:130:19: error: expected function name
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:130:19: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:215:23: error: expected ‘(’
  215 | func newSliceFlagValue[R any, S ~[]E, E any](factory func(defaults ...E) *R, defaults S) *R {
      |                       ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:215:26: error: expected ‘]’
  215 | func newSliceFlagValue[R any, S ~[]E, E any](factory func(defaults ...E) *R, defaults S) *R {
      |                          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:215:26: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:215:33: error: invalid character 0x7e in input file
  215 | func newSliceFlagValue[R any, S ~[]E, E any](factory func(defaults ...E) *R, defaults S) *R {
      |                                 ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:218:9: error: expected declaration
  218 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:219:9: error: expected declaration
  219 |         return factory(defaults...)
      |         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:220:1: error: expected declaration
  220 | }
      | ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:17:29: error: use of undefined type ‘S’
   17 |                 Value       S
      |                             ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:17:29: error: use of undefined type ‘S’
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:132:10: error: use of undefined type ‘flagValueHook’
  132 | func (x *flagValueHook) Set(value string) error {
      |          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:133:20: error: reference to field ‘value’ in object which has no fields or methods
  133 |         if err := x.value.Set(value); err != nil {
      |                    ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:136:10: error: reference to field ‘hook’ in object which has no fields or methods
  136 |         x.hook()
      |          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:183:13: error: reference to field ‘value’ in object which has no fields or methods
  183 |         if x.value != nil {
      |             ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:185:26: error: reference to field ‘value’ in object which has no fields or methods
  185 |                 if s := x.value.String(); !isZeroValue(x.value, s) {
      |                          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:185:57: error: reference to field ‘value’ in object which has no fields or methods
  185 |                 if s := x.value.String(); !isZeroValue(x.value, s) {
      |                                                         ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:193:26: error: reference to field ‘value’ in object which has no fields or methods
  193 |         if value, ok := x.value.(Serializer); ok {
      |                          ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:196:17: error: reference to field ‘String’ in object which has no fields or methods
  196 |         return x.String()
      |                 ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:208:66: error: reference to undefined name ‘value’
  208 |         tmp.VisitAll(func(f *flag.Flag) { set.Var(&flagValueHook{value: f.Value, hook: hook}, f.Name, f.Usage) })
      |                                                                  ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:229:22: error: reference to field ‘value’ in object which has no fields or methods
  229 |                 v = h.value
      |                      ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:67:11: error: use of undefined type ‘SliceFlagTarget’
   67 |         _ SliceFlagTarget[string]  = (*StringSliceFlag)(nil)
      |           ^
/home/a.key/.go/pkg/mod/github.com/urfave/cli/v2@v2.24.1/sliceflag.go:208:51: error: argument 1 has incompatible type (type has no methods)
  208 |         tmp.VisitAll(func(f *flag.Flag) { set.Var(&flagValueHook{value: f.Value, hook: hook}, f.Name, f.Usage) })
      |                                                   ^
# github.com/rivo/uniseg
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:137:20: error: expected ‘(’
  137 | func propertySearch[E interface{ [3]int | [4]int }](dictionary []E, r rune) (result E) {
      |                    ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:137:23: error: expected ‘]’
  137 | func propertySearch[E interface{ [3]int | [4]int }](dictionary []E, r rune) (result E) {
      |                       ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:137:23: error: expected ‘;’ or newline after top level declaration
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:140:9: error: expected declaration
  140 |         to := len(dictionary)
      |         ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:141:9: error: expected declaration
  141 |         for to > from {
      |         ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:143:17: error: expected declaration
  143 |                 cpRange := dictionary[middle]
      |                 ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:144:17: error: expected declaration
  144 |                 if int(r) < cpRange[0] {
      |                 ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:146:25: error: expected declaration
  146 |                         continue
      |                         ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:147:17: error: expected declaration
  147 |                 }
      |                 ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:148:17: error: expected declaration
  148 |                 if int(r) > cpRange[1] {
      |                 ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:150:25: error: expected declaration
  150 |                         continue
      |                         ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:151:17: error: expected declaration
  151 |                 }
      |                 ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:152:17: error: expected declaration
  152 |                 return cpRange
      |                 ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:153:9: error: expected declaration
  153 |         }
      |         ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:154:9: error: expected declaration
  154 |         return
      |         ^
/home/a.key/.go/pkg/mod/github.com/rivo/uniseg@v0.4.4/properties.go:155:1: error: expected declaration
  155 | }
      | ^
make: *** [Makefile:4: go-binary] Error 2

Are there any instructions on how to properly compile this on Linux?

akeyd commented 1 year ago

It turns out that you must have go 1.19 or higher. Installing the golang package and following with sudo alternatives --config go and choosing the one from /usr/lib/golang/bin/go fixes the compile errors. Then there's the Makefile issues...

JoshuaWilkes commented 11 months ago

@akeyd are you still having issues compiling on linux?