Istio proxy build fail 【v1.4】

I am customize istio proxy (https://github.com/istio/proxy), from 1.0 to 1.4.
Now, for build 1.4, always fail.
So, could you help me to resolve 1.4 build issue?

【Note】For each build enviroment set up, from 1.0, 1.1, 1.3, always cost me a lot of time to make it done.

Is there any docs about istio proxy make process / dependency?
I suggest to make istio proxy build process easier, no matter improve document or create specific istio container (process)?

Describe alternatives you’ve considered

Configuration Infrastructure
[V] Docs
Installation

Steps
Step 1 : Create container for build:

docker pull envoyproxy/envoy-build
docker run --name en -it --cpus="7" envoyproxy/envoy-build bash

Step 2 : Build in container:

root@b218e70e632f:~/work/code/proxy# git checkout remotes/origin/release-1.4
Previous HEAD position was aaf4262... Cherry-pick JWT CVE fix into 1.3 (#13)
HEAD is now at 2b8fbca... Update to latest Envoy (#2808)
root@b218e70e632f:~/work/code/proxy# make BAZEL_BUILD_ARGS="-c opt"
Building with your local toolchain.
WARNING: Waiting for server process to terminate (waited 5 seconds, waiting at most 60)
Starting local Bazel server and connecting to it...
export PATH=/usr/lib/llvm-9/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=clang CXX=clang++ && bazel  build -c opt --config=libc++ //...
INFO: Writing tracer profile to '/root/.cache/bazel/_bazel_root/c09471eaa632836df712c85a33e4a5e2/command.profile.gz'
INFO: Call stack for the definition of repository 'local_config_cc' which is a cc_autoconf (rule definition at /root/.cache/bazel/_bazel_root/c09471eaa632836df712c85a33e4a5e2/external/bazel_tools/tools/cpp/cc_configure.bzl:143:15):
 - /root/.cache/bazel/_bazel_root/c09471eaa632836df712c85a33e4a5e2/external/bazel_tools/tools/cpp/cc_configure.bzl:179:5
 - /DEFAULT.WORKSPACE.SUFFIX:385:1
ERROR: An error occurred during the fetch of repository 'local_config_cc':
   Traceback (most recent call last):
	File "/root/.cache/bazel/_bazel_root/c09471eaa632836df712c85a33e4a5e2/external/bazel_tools/tools/cpp/cc_configure.bzl", line 125
		configure_unix_toolchain(<3 more arguments>)
	File "/root/.cache/bazel/_bazel_root/c09471eaa632836df712c85a33e4a5e2/external/bazel_tools/tools/cpp/unix_cc_configure.bzl", line 329, in configure_unix_toolchain
		_find_generic(repository_ctx, <3 more arguments>)
	File "/root/.cache/bazel/_bazel_root/c09471eaa632836df712c85a33e4a5e2/external/bazel_tools/tools/cpp/unix_cc_configure.bzl", line 300, in _find_generic
1 Like

Nobody answer me. I am sad.
However, I fix it out: :slight_smile:
Way I: More official
[Steps]
Step 1: Checkout the exact code of Istio-proxy (tag: 1.4.6)
Step 2: Get build image from …\istioproxy1.4.bazelrc , pull the image
A bit strange: -ubuntu is not showed in code at all. However, we need add it manually.
docker pull envoyproxy/envoy-build-ubuntu@sha256:3ca8acc35fdb57ab26e1bb5f9488f37095f45acd77a12602510410dbefa00b58
Step 3: Run and enter container
docker run -it --name hi envoyproxy/envoy-build-ubuntu@sha256:3ca8acc35fdb57ab26e1bb5f9488f37095f45acd77a12602510410dbefa00b58
Step 4: pull the code and go to 1.4.6 tag
git clone https://github.com/istio/proxy.git
git tag -l
git checkout 1.4.6
Step 5: Run “make lint” (Why need this? Refer proxy-presubmit.sh)
Step 6: Add “/root/clang/bin” in path (Why need this? Refer to scripts\check-style.sh )
vi .bashra
#Add export PATH="$PATH:/root/clang/bin"
source .bashrc
Step 7: Run “make build”

Way II:

1 Like