Skip to content
This repository has been archived by the owner on Jan 19, 2022. It is now read-only.

istanbul-tools fail to install. #4

Closed
marvin-hansen opened this issue Jan 5, 2020 · 4 comments
Closed

istanbul-tools fail to install. #4

marvin-hansen opened this issue Jan 5, 2020 · 4 comments

Comments

@marvin-hansen
Copy link

marvin-hansen commented Jan 5, 2020

updated: Replicated the error with go-lang v.1.13.

Trying to generate a custom configuration as outlined in the Readme.
However, istanbul-tools fail to install.

   # install
   $> go get github.com/getamis/istanbul-tools/cmd/istanbul  

Results in:

github.com/getamis/istanbul-tools/cmd/utils
github.com/getamis/istanbul-tools/cmd/istanbul/extra
# github.com/getamis/istanbul-tools/cmd/utils
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/utils/app.go:30:5: app.Author undefined (type *cli.App has no field or method Author)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/utils/app.go:31:5: app.Email undefined (type *cli.App has no field or method Email)
github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc
# github.com/getamis/istanbul-tools/cmd/istanbul/extra
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:32:14: cannot use []cli.Command literal (type []cli.Command) as type []*cli.Command in field value
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:39:6: cannot use extraDataFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:51:6: cannot use configFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:52:6: cannot use validatorsFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:53:6: cannot use vanityFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
# github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc
/home/marvin/go/src/github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc/server.go:49:9: cannot use set.New() (type set.Interface) as type *set.Set in field value: need type assertion
/home/marvin/go/src/github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc/server.go:49:20: not enough arguments in call to set.New
        have ()
        want (set.SetType)
/home/marvin/go/src/github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc/websocket.go:59:20: not enough arguments in call to set.New
        have ()
        want (set.SetType)

Go version: 1.10
Also tested with go-lang version 1.13. Same error.

Go env

GOARCH="amd64"
GOBIN=""
GOCACHE="/home/marvin/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/marvin/go"
GORACE=""
GOROOT="/usr/lib/go-1.10"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.10/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build780641180=/tmp/go-build -gno-record-gcc-switches"

When cloning the repo & running make to install manually, about the same error happens:

git clone https://github.com/getamis/istanbul-tools.git
cd istanbul-tools/
make

Results in:

go build -v -o ./build/bin/istanbul ./cmd/istanbul
github.com/getamis/istanbul-tools/cmd/utils
github.com/getamis/istanbul-tools/cmd/istanbul/extra
github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc
# github.com/getamis/istanbul-tools/cmd/utils
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/utils/app.go:30:5: app.Author undefined (type *cli.App has no field or method Author)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/utils/app.go:31:5: app.Email undefined (type *cli.App has no field or method Email)
# github.com/getamis/istanbul-tools/cmd/istanbul/extra
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:32:14: cannot use []cli.Command literal (type []cli.Command) as type []*cli.Command in field value
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:39:6: cannot use extraDataFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:51:6: cannot use configFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:52:6: cannot use validatorsFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
/home/marvin/go/src/github.com/getamis/istanbul-tools/cmd/istanbul/extra/cmd.go:53:6: cannot use vanityFlag (type cli.StringFlag) as type cli.Flag in array or slice literal:
        cli.StringFlag does not implement cli.Flag (Apply method has pointer receiver)
# github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc
/home/marvin/go/src/github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc/server.go:49:9: cannot use set.New() (type set.Interface) as type *set.Set in field value: need type assertion
/home/marvin/go/src/github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc/server.go:49:20: not enough arguments in call to set.New
        have ()
        want (set.SetType)
/home/marvin/go/src/github.com/getamis/istanbul-tools/vendor/github.com/ethereum/go-ethereum/rpc/websocket.go:59:20: not enough arguments in call to set.New
        have ()
        want (set.SetType)
Makefile:6: recipe for target 'istanbul' failed
make: *** [istanbul] Error 2
@trung
Copy link

trung commented Jan 6, 2020

Can you give a try with go 1.9?

The readme should be updated using https://github.com/jpmorganchase/istanbul-tools instead.

There are also binaries available: https://bintray.com/quorumengineering/istanbul-tools/istanbul/v1.0.1

@marvin-hansen
Copy link
Author

marvin-hansen commented Jan 6, 2020

@trung Thank you.

I am using now the re-appeared bootstrap docker container because, after some more trying, I got some more errors and I am not wasting any more time on fixing go-modules.

===
I cloned the repo you've mentioned, did a build, which seems to produce a working binary. However, both go install fail. Ok.

When pulling the binary via go get, the following error occurs:

``
go get -v github.com/jpmorganchase/istanbul-tools/cmd/istanbul
github.com/ethereum/go-ethereum (download)

package github.com/ethereum/go-ethereum/consensus/istanbul: cannot find package
"github.com/ethereum/go-ethereum/consensus/istanbul" in any of:

    /usr/lib/go-1.11/src/github.com/ethereum/go-ethereum/consensus/istanbul (from $GOROOT)
    /home/marvin/go/src/github.com/ethereum/go-ethereum/consensus/istanbul (from $GOPATH)

``

@trung
Copy link

trung commented Jan 6, 2020

@marvin-hansen glad you find an alternative that works for you.

Just to give some more background on the issue:

go get won't work as istanbul-tools requires replace directive to use jpmorganchase/quorum instead of ethereum/go-ethereum. Refer to: Consensys/istanbul-tools#7 for more details.

The solution might be to push the vendor folder along so to make go get work again.

Nevertheless, need to update README to reflect the working solution

@marvin-hansen
Copy link
Author

marvin-hansen commented Jan 6, 2020 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants