Skip to content

Error when trying to install vuvuzela-client #12

@theAkito

Description

@theAkito
$ go get -u vuvuzela.io/vuvuzela/cmd/vuvuzela-client
# vuvuzela.io/alpenhorn/pkg
go/src/vuvuzela.io/alpenhorn/pkg/server.go:89:6: opts.Dir undefined (type func(string) badger.Options has no field or method Dir)
go/src/vuvuzela.io/alpenhorn/pkg/server.go:90:6: opts.ValueDir undefined (type func(string) badger.Options has no field or method ValueDir)
go/src/vuvuzela.io/alpenhorn/pkg/server.go:91:6: opts.SyncWrites undefined (type func(string) badger.Options has no field or method SyncWrites)
go/src/vuvuzela.io/alpenhorn/pkg/server.go:93:24: cannot use opts (type func(string) badger.Options) as type badger.Options in argument to badger.Open

Apparently that is related to breaking API changes:
https://github.com/dgraph-io/badger/releases/tag/v1.6.0

Problem now is, when I change the version of badger I get this:

$ go build
# vuvuzela.io/alpenhorn/pkg
../alpenhorn/pkg/data.go:131:7: assignment mismatch: 1 variable but item.Value returns 2 values
../alpenhorn/pkg/data.go:131:20: too many arguments in call to item.Value
	have (func([]byte) error)
	want ()
../alpenhorn/pkg/data.go:154:7: assignment mismatch: 1 variable but item.Value returns 2 values
../alpenhorn/pkg/data.go:154:19: too many arguments in call to item.Value
	have (func([]byte) error)
	want ()
../alpenhorn/pkg/extract.go:222:6: assignment mismatch: 1 variable but item.Value returns 2 values
../alpenhorn/pkg/extract.go:222:18: too many arguments in call to item.Value
	have (func([]byte) error)
	want ()
../alpenhorn/pkg/register.go:102:17: not enough arguments in call to tx.Commit
	have ()
	want (func(error))

Due to my non-existent knowledge of programming in Go, I had to hack this in an ugly way. But hey, better than nothing!

Workaround

go get -u vuvuzela.io/vuvuzela/cmd/vuvuzela-client
cd "$GOPATH/src/github.com/dgraph-io/badger"

No. None of the tagged versions work. Use this commit.

git checkout 50bef1d5c7be94eed748c17ae55a4de94b8ba165
cd "$GOPATH/src/vuvuzela.io/vuvuzela/cmd/vuvuzela-client"

Basically building vuvuzela-client now.

go build main.go gui.go conversation.go notify.go alpenhorn.go commands.go connect.go
./main -username you@example.com

You probably could move the executable to pretend you installed vuvuzela as intended:

mv main "$GOPATH/bin/vuvuzela-client"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions