[Gluster-devel] Building GD2 from glusterd2-v5.0-0-vendor.tar.xz fails on CentOS-7

Kaushal M kshlmster at gmail.com
Tue Oct 30 07:15:35 UTC 2018


On Tue, Oct 30, 2018 at 11:50 AM Kaushal M <kshlmster at gmail.com> wrote:
>
> On Tue, Oct 30, 2018 at 2:20 AM Niels de Vos <ndevos at redhat.com> wrote:
> >
> > Hi,
> >
> > not sure what is going wrong when building GD2 for the CentOS Storage
> > SIG, but it seems to fail with some golang import issues:
> >
> >   https://cbs.centos.org/kojifiles/work/tasks/5141/595141/build.log
> >
> >   + cd glusterd2-v5.0-0
> >   ++ pwd
> >   + export GOPATH=/builddir/build/BUILD/glusterd2-v5.0-0:/usr/share/gocode
> >   + GOPATH=/builddir/build/BUILD/glusterd2-v5.0-0:/usr/share/gocode
> >   + mkdir -p src/github.com/gluster
> >   + ln -s ../../../ src/github.com/gluster/glusterd2
> >   + pushd src/github.com/gluster/glusterd2
> >   ~/build/BUILD/glusterd2-v5.0-0/src/github.com/gluster/glusterd2 ~/build/BUILD/glusterd2-v5.0-0
> >   + /usr/bin/make PREFIX=/usr EXEC_PREFIX=/usr BINDIR=/usr/bin SBINDIR=/usr/sbin DATADIR=/usr/share LOCALSTATEDIR=/var/lib LOGDIR=/var/log SYSCONFDIR=/etc FASTBUILD=off glusterd2
> >   Plugins Enabled
> >   Building glusterd2 v5.0-0
> >   # github.com/gluster/glusterd2/vendor/github.com/coreos/etcd/clientv3
> >   vendor/github.com/coreos/etcd/clientv3/client.go:346: cannot use c.tokenCred (type *authTokenCredential) as type credentials.PerRPCCredentials in argument to grpc.WithPerRPCCredentials:
> >         *authTokenCredential does not implement credentials.PerRPCCredentials (wrong type for GetRequestMetadata method)
> >                 have GetRequestMetadata("context".Context, ...string) (map[string]string, error)
> >                 want GetRequestMetadata("github.com/gluster/glusterd2/vendor/golang.org/x/net/context".Context, ...string) (map[string]string, error)
> >   vendor/github.com/coreos/etcd/clientv3/client.go:421: cannot use client.balancer (type *healthBalancer) as type grpc.Balancer in argument to grpc.WithBalancer:
> >         *healthBalancer does not implement grpc.Balancer (wrong type for Get method)
> >                 have Get("context".Context, grpc.BalancerGetOptions) (grpc.Address, func(), error)
> >                 want Get("github.com/gluster/glusterd2/vendor/golang.org/x/net/context".Context, grpc.BalancerGetOptions) (grpc.Address, func(), error)
> >   vendor/github.com/coreos/etcd/clientv3/retry.go:145: cannot use retryKVClient literal (type *retryKVClient) as type etcdserverpb.KVClient in return argument:
> >         *retryKVClient does not implement etcdserverpb.KVClient (wrong type for Compact method)
> >                 have Compact("context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
> >                 want Compact("github.com/gluster/glusterd2/vendor/golang.org/x/net/context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
> >   ...
> >
> > Did anyone else try to build this on CentOS-7 (without EPEL)?
>
> This occurs when Go<1.9 is used to build GD2. The updated etcd version
> we vendor (etcd 3.3) requires Go>=1.9 to compile.
> But the failure here is strange, because CentOS-7 has golang-1.9.4 in
> its default repositories.
> Don't know what's going wrong here.

Looked at the logs again. This is an aarch64 build. It seems that
CentOS-7 for aarch64 is still on go1.8.
So, we could disable aarch64 for GD2 until the newer Go compiler is available.

>
> >
> > Thanks,
> > Niels
> > _______________________________________________
> > Gluster-devel mailing list
> > Gluster-devel at gluster.org
> > https://lists.gluster.org/mailman/listinfo/gluster-devel


More information about the Gluster-devel mailing list