I’m trying to build Istio following the instructions at Preparing for Development · istio/istio Wiki (github.com) + Using the Code Base · istio/istio Wiki (github.com).
I can get as far as make build
, but I keep failing at the next step:
$ go run ./istioctl/cmd/istioctl install
build istio.io/istio/istioctl/cmd/istioctl: cannot load embed: malformed module path "embed": missing dot in first path element
I’m very inexperienced with go, and completely inexperienced with building Istio, so don’t really know how to go about fixing things. Anyone able to help/recommend how to fix it?
Full output:
$ git log -1
commit 16ce8a4fbdcea59b65b8579d662c15e74bbfd665 (HEAD -> master, origin/master, origin/HEAD)
Author: Rama Chavali <rama.rao@salesforce.com>
Date: Wed Jul 6 07:14:28 2022 +0530
minor refactor in cluster builder (#39757)
* fix cluster nack for strict dns clusters
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
* add comments and tests
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
* add additional condition
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
* rearrange
Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
$ echo $HUB
docker.io/hottea773
$ echo $TAG
hottea773
$ echo $ISTIO
/home/developer/istio.io
$ echo $GOPATH
/home/developer/go
$ go env GOPATH
/home/developer/go
$ pwd
/home/developer/go/src/istio.io/istio
$ go version
go version go1.13.8 linux/amd64
$ make build
TARGET_OUT=/work/out/linux_amd64 ISTIO_BIN=/gobin GOOS_LOCAL=linux bin/retry.sh SSL_ERROR_SYSCALL bin/init.sh
Skipping envoy debug. Set DEBUG_IMAGE to download.
/work/out/linux_amd64/release /work
Downloading envoy: https://storage.googleapis.com/istio-build/proxy/envoy-alpha-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.tar.gz to /work/out/linux_amd64/release/envoy-38a4d882ed90d91f95b86939bb75f4ab9c3f270e
real 0m15.291s
user 0m1.398s
sys 0m0.723s
Copying /work/out/linux_amd64/release/envoy-38a4d882ed90d91f95b86939bb75f4ab9c3f270e to /work/out/linux_amd64/release/envoy
/work
/work/out/linux_amd64/release /work
Downloading envoy: https://storage.googleapis.com/istio-build/proxy/envoy-centos-alpha-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.tar.gz to /work/out/linux_amd64/release/envoy-centos-38a4d882ed90d91f95b86939bb75f4ab9c3f270e
real 0m7.227s
user 0m1.112s
sys 0m0.887s
Copying /work/out/linux_amd64/release/envoy-centos-38a4d882ed90d91f95b86939bb75f4ab9c3f270e to /work/out/linux_amd64/release/envoy-centos
/work
/work/out/linux_amd64/release /work
Downloading WebAssembly file: https://storage.googleapis.com/istio-build/proxy/stats-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.wasm to /work/out/linux_amd64/release/stats-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.wasm
real 0m0.620s
user 0m0.081s
sys 0m0.018s
/work
/work/out/linux_amd64/release /work
Downloading WebAssembly file: https://storage.googleapis.com/istio-build/proxy/stats-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.compiled.wasm to /work/out/linux_amd64/release/stats-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.compiled.wasm
real 0m0.976s
user 0m0.102s
sys 0m0.010s
/work
/work/out/linux_amd64/release /work
Downloading WebAssembly file: https://storage.googleapis.com/istio-build/proxy/metadata_exchange-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.wasm to /work/out/linux_amd64/release/metadata_exchange-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.wasm
real 0m0.809s
user 0m0.136s
sys 0m0.000s
/work
/work/out/linux_amd64/release /work
Downloading WebAssembly file: https://storage.googleapis.com/istio-build/proxy/metadata_exchange-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.compiled.wasm to /work/out/linux_amd64/release/metadata_exchange-38a4d882ed90d91f95b86939bb75f4ab9c3f270e.compiled.wasm
real 0m2.023s
user 0m0.123s
sys 0m0.037s
/work
Copying /work/out/linux_amd64/release/envoy-38a4d882ed90d91f95b86939bb75f4ab9c3f270e to /work/out/linux_amd64/envoy
Copying /work/out/linux_amd64/release/envoy-centos-38a4d882ed90d91f95b86939bb75f4ab9c3f270e to /work/out/linux_amd64/envoy-centos
touch /work/out/linux_amd64/istio_is_init
GOOS=linux GOARCH=amd64 LDFLAGS='-extldflags -static -s -w' common/scripts/gobuild.sh /work/out/linux_amd64/ ./istioctl/cmd/istioctl ./pilot/cmd/pilot-discovery ./pkg/test/echo/cmd/client ./pkg/test/echo/cmd/server ./samples/extauthz/cmd/extauthz ./operator/cmd/operator ./cni/cmd/istio-cni ./cni/cmd/istio-cni-taint ./cni/cmd/install-cni ./tools/istio-iptables ./tools/bug-report
go: downloading istio.io/api v0.0.0-20220705134728-d233ac5e1275
go: downloading istio.io/client-go v1.12.0-alpha.5.0.20220705135128-ae3be2de4ddb
real 0m33.198s
user 2m51.714s
sys 0m21.852s
GOOS=linux GOARCH=amd64 LDFLAGS='-extldflags -static -s -w' common/scripts/gobuild.sh /work/out/linux_amd64/ -tags=agent ./pilot/cmd/pilot-agent
real 0m8.435s
user 0m25.393s
sys 0m4.770s
$ go run ./istioctl/cmd/istioctl install
go: downloading istio.io/api v0.0.0-20220705134728-d233ac5e1275
go: extracting istio.io/api v0.0.0-20220705134728-d233ac5e1275
go: downloading istio.io/client-go v1.12.0-alpha.5.0.20220705135128-ae3be2de4ddb
go: extracting istio.io/client-go v1.12.0-alpha.5.0.20220705135128-ae3be2de4ddb
go: finding istio.io/api v0.0.0-20220705134728-d233ac5e1275
go: finding istio.io/client-go v1.12.0-alpha.5.0.20220705135128-ae3be2de4ddb
build istio.io/istio/istioctl/cmd/istioctl: cannot load embed: malformed module path "embed": missing dot in first path element
Edit: I’m building on Ubuntu 20.04 in WSL in case that effects anything.