Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Envoy on Apple silicon m1 #16482

Closed
JCzz opened this issue May 13, 2021 · 51 comments
Closed

Envoy on Apple silicon m1 #16482

JCzz opened this issue May 13, 2021 · 51 comments
Labels

Comments

@JCzz
Copy link

JCzz commented May 13, 2021

Title: Envoy on Apple silicon m1
Hi

I am trying to get Knative with Istio(or any other Ingress controller based on Envoy) running on a Mac mini with the Apple Silicon m1 chip. And I am told that Istio is not working do to Envoy not supporting Apple m1 chip.

Description:
A working setup on Kubernetes running Istio(Envoy)

@JCzz JCzz added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels May 13, 2021
@antoniovicente
Copy link
Contributor

cc @ggreenway who may know more about any toolchain issues preventing build for m1's

@JCzz
Copy link
Author

JCzz commented May 14, 2021

Istio / arm is not supported
istio/istio#32751 (comment)

Envoy not supporting arm?
istio/istio#29596
istio/istio#21094

@ggreenway
Copy link
Contributor

It's on my TODO list to investigate building envoy for m1, but I don't know when I'll get to it. If someone else wants to take it up, go for it.

@antoniovicente
Copy link
Contributor

One of the challenges is availability of VMs with m1 silicon or physical hardware to test on.

@ggreenway
Copy link
Contributor

I've heard that we could get a single m1 instance for the OSS project from https://www.macstadium.com/opensource. It might be enough to setup a periodic build off of main to post-facto check for breakages. Also on my TODO list to look into.

@antoniovicente antoniovicente removed the triage Issue requires triage label May 15, 2021
@moderation
Copy link
Contributor

My m1 Mac Mini arrived last night (16GB RAM) and I've got the development environment set up, full xcode installed, the brand new m1 native bazel 4.1.0 etc. ~/.bazelrc is:

build --announce_rc                                                                      
build --define deprecated_features=disabled                                              
build --define disable_object_dump_on_signal_trace=disabled                              
build --define google_grpc=disabled                                                      
build --define path_normalization_by_default=true                                        
build --define quiche=enabled                                                            
build --define signal_trace=disabled                                                     
build --define tcmalloc=disabled                                                         
build --define wasm=disabled                                                             
build --define zlib=ng                                                                   
build --override_repository=envoy_build_config=/Users/<username>/Applications/envoy/build

I'm getting the following error on the first thing the process tries to compile. The xcode-locator tool it uses isn't m1 compatible even though I've installed the Darwin arm64 Bazel package.

ERROR: /private/var/tmp/_bazel_<username>/3335c71f4281d4576473beb63d032778/external/envoy/bazel/foreign_cc/BUILD:345:12: CcCmakeMakeRule external/envoy/bazel/foreign_cc/zlib/include failed: I/O exception during sandboxed execution: com.google.devtools.build.lib.shell.ExecFailedException: java.io.IOException: Cannot run program "/var/tmp/_bazel_<username>/install/d0b631b3e5a643567f221e133629d965/xcode-locator": error=86, Bad CPU type in executable

Now wondering if I should try getting the m1 compatible Azul JDK and building Bazel from source?

@moderation
Copy link
Contributor

moderation commented May 22, 2021

I now have a working binary on Apple Silicon. My goal was to not have to install Rosetta:

This compilation worked and produced a binary that wouldn't run generating a SIGKILL. Using lldb I could see the following error:

lldb ./envoy      
(lldb) target create "./envoy"                                                 
Current executable set to '/Users/<username>/Applications/envoy/envoy' (arm64).
(lldb) process launch                                                          
error: Malformed Mach-o file                                                   

That lead me to - wg/wrk#448

 bazel/envoy_binary.bzl | 4 ++--                                                          
 1 file changed, 2 insertions(+), 2 deletions(-)                                          
                                                                                          
diff --git a/bazel/envoy_binary.bzl b/bazel/envoy_binary.bzl                              
index 43c52bf7e..3bd40e35d 100644                                                         
--- a/bazel/envoy_binary.bzl                                                              
+++ b/bazel/envoy_binary.bzl                                                              
@@ -57,8 +57,8 @@ def _envoy_linkopts():                                                  
         # The macOS system library transitively links common libraries (e.g., pthread).  
         "@envoy//bazel:apple": [                                                         
             # See note here: https://luajit.org/install.html                             
-            "-pagezero_size 10000",                                                      
-            "-image_base 100000000",                                                     
+          # "-pagezero_size 10000",                                                      
+          # "-image_base 100000000",                                                     
         ],                                                                               
         "@envoy//bazel:windows_opt_build": [                                             
             "-DEFAULTLIB:ws2_32.lib",                                                    

This will need to be updated with correct logic.

Lastly I don't know if this is required: This is required:

 bazel/BUILD | 1 +                                  
 1 file changed, 1 insertion(+)                     
                                                    
diff --git a/bazel/BUILD b/bazel/BUILD              
index 98be980f8..66f2e364d 100644                   
--- a/bazel/BUILD                                   
+++ b/bazel/BUILD                                   
@@ -540,6 +540,7 @@ selects.config_setting_group(   
     name = "apple",                                
     match_any = [                                  
         ":darwin",                                 
+        ":darwin_arm64",                           
         ":darwin_x86_64",                          
         ":ios_arm64",                              
         ":ios_arm64e",                             

Success!

@JCzz
Copy link
Author

JCzz commented May 22, 2021

Hi @moderation that is super cool work!
How is progress on this?
Thanks and I am looking forward to have this running in Knative and Istio :-)

@JCzz
Copy link
Author

JCzz commented Jun 1, 2021

Hi @ggreenway did you see @moderation comments?

@vinayreddy
Copy link

Hi, I tried building the latest codebase using the patch suggested above. Although that did get me further than before I'm now seeing the following error on M1

Use --sandbox_debug to see verbose messages from the sandbox
compilepkg: missing strict dependencies:
	/private/var/tmp/_bazel_xyz/90f305687f37d42ba5f4826d49344d1b/sandbox/darwin-sandbox/117/execroot/envoy/external/com_github_lyft_protoc_gen_star/init_option.go: import of "github.com/spf13/afero"
	/private/var/tmp/_bazel_xyz/90f305687f37d42ba5f4826d49344d1b/sandbox/darwin-sandbox/117/execroot/envoy/external/com_github_lyft_protoc_gen_star/persister.go: import of "github.com/spf13/afero"
No dependencies were provided.

I'm using the latest bazel to build envoy and ran bazel build source/exe:envoy

@vinayreddy
Copy link

Also, if anyone is able to build envoy on arm64 (as suggested on this issue), can you please share the binary so others can try it out?

@moderation
Copy link
Contributor

@vinayreddy are you talking about M1 arm64 specifically or just arm64? There are arm64 images at https://hub.docker.com/r/envoyproxy/envoy/tags?page=1&ordering=last_updated. This is Ok if you have Docker. There are some hacky script ways to extract the binary from the images

I'm building on M1 but I compile out a bunch of extensions and you probably shouldn't trust a binary from random people on the internet 😀

@vinayreddy
Copy link

Yes, I was talking M1 arm64. Yes, I was able to run a docker image on my M1 mac, so that is something I can use to make progress.

Haha, fair point that I shouldn't run random binaries I find on the Internet.

@moderation
Copy link
Contributor

@vinayreddy good that you have an image running on your M1. I think today the only way to get an M1 Apple Silicon binary, that can run without Rosetta or virtualization like Docker, is the process I outlined at #16482 (comment)

@codefromthecrypt
Copy link
Contributor

Does someone have resources and build skills to implement what @moderation said above? There's considerable tech debt relying on translation as for example you have to consider the intent when this is eventually addressed. The longer this takes to resolve the more ecosystem cleanup will be needed.

@JCzz JCzz closed this as completed Jul 13, 2021
@codefromthecrypt
Copy link
Contributor

@JCzz did you close this by accident? it isn't obvious what fixed it..

@codefromthecrypt
Copy link
Contributor

@keith just as a try. this isn't resolved and one issue we have in homebrew is that few of the envoy dimensions work. Notably, many have apple silicon at this point and while possible to use rossetta 2, it seems like if some effort started on arm64 support for mac, it might finish, but if nothing starts and this stays closed it will never resolve.

@mattklein123 mattklein123 reopened this Jul 21, 2021
@mattklein123
Copy link
Member

I'm not really sure what is required here but I will mark this help wanted.

@mattklein123 mattklein123 added area/macos and removed enhancement Feature requests. Not bugs or questions. labels Jul 21, 2021
keith added a commit to keith/envoy that referenced this issue Nov 6, 2021
I'm not sure what changed here but it seems chromium attempts to use lld
on macOS even though it doesn't ship with Xcode. This could be
intentional on their part if they require folks to use an llvm toolchain
instead, but this likely isn't the right move for envoy unless we vendor
that toolchain ourselves. For now we can safely disable this.

envoyproxy#16482 (comment)

Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
@keith
Copy link
Member

keith commented Nov 6, 2021

Fix here #18922

lizan pushed a commit that referenced this issue Nov 7, 2021
I'm not sure what changed here but it seems chromium attempts to use lld
on macOS even though it doesn't ship with Xcode. This could be
intentional on their part if they require folks to use an llvm toolchain
instead, but this likely isn't the right move for envoy unless we vendor
that toolchain ourselves. For now we can safely disable this.

#16482 (comment)

Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
@keith
Copy link
Member

keith commented Nov 20, 2021

Here's another improvement for everyone, but previously was only blocked by M1 support #19072

@keith
Copy link
Member

keith commented Dec 3, 2021

Ok the long running rules_go / golang update landed #17460 so we'll have to test end to end again but I think the previously known blockers are all resolved!

@keith
Copy link
Member

keith commented Dec 3, 2021

Alright I just tested a bazel build envoy on my M1 machine and it works end to end! That doesn't cover all possible configurations, but it's still a good sign. @codefromthecrypt can you build your other configurations and see if any new issues come up?

@jpsim
Copy link
Contributor

jpsim commented Dec 6, 2021

@keith should we update rules_go from 0.27.0 to 0.29.0 to unblock M1 build support?

@keith
Copy link
Member

keith commented Dec 6, 2021

We're on 0.28 now, it landed as part of that PR above

version = "0.28.0",

I think we're unblocked here, post here if you see issues

@codefromthecrypt
Copy link
Contributor

thanks for the progress @keith. The goal isn't so much me working, but homebrew working (#17500). I won't have time to resolve all the issues, but I can share where things are right now.

Firstly, while envoy's build requires git (#2181), you need a git tag in order to test whether homebrew works or not. (cc @carlocab in case I am mistaken) Anyway, as that seems to be the case, and I don't have karma to push a tag, I made a fork and pushed a tag for the latest commit, then updated my local copy of envoy.rb to point to that.

Ex. this is what to change

$ cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
$ git diff Formula/envoy.rb
diff --git a/Formula/envoy.rb b/Formula/envoy.rb
index ce4a24d6d6a..94760519a70 100644
--- a/Formula/envoy.rb
+++ b/Formula/envoy.rb
@@ -3,9 +3,9 @@ class Envoy < Formula
   homepage "https://www.envoyproxy.io/index.html"
   # Switch to a tarball when the following issue is resolved:
   # https://github.com/envoyproxy/envoy/issues/2181
-  url "https://github.com/envoyproxy/envoy.git",
-      tag:      "v1.20.1",
-      revision: "ea23f47b27464794980c05ab290a3b73d801405e"
+  url "https://github.com/codefromthecrypt/envoy.git",
+      tag:      "v1.21.0",
+      revision: "8a9779a615afebbff8b765d3fdd99c8c0c818591"
   license "Apache-2.0"
 
   # Apple M1/arm64 is pending envoyproxy/envoy#16482

Next, try brew install --build-from-source envoy. This failed for reasons probably someone else can diagnose better than me. Hope these instructions help!

$ brew install --build-from-source envoy
==> Downloading https://ghcr.io/v2/homebrew/core/cmake/manifests/3.22.0
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/0e6c1beadc6246cd1a5760e035b71640ac5673ffbee411d0c696f7c4a40aae96--cmake-3.22.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/cmake/blobs/sha256:2ecfdea833356807af17016cd40db4d51f04ad6c00479e
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/ac6eeaf46044bb24578718e225345f6294fb35fb3f2faa73f188a6d4d736cb92--cmake--3.22.0.arm64_monterey.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/manifests/1.10.2_1
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/3d885b06ee8943649e1e4f3edebcca2003dc2e9e332202cc2a0b16ccce4f8cae--ninja-1.10.2_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/blobs/sha256:8efac5a9c8b7028f64f5a092eb029ff40887b9895fe423
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/deb592b6fb7dd715b57a170608e055406d978bbc68c284ffa7ecef67acef899a--ninja--1.10.2_1.arm64_monterey.bottle.tar.gz
==> Cloning https://github.com/codefromthecrypt/envoy.git
Updating /Users/thebots/Library/Caches/Homebrew/envoy--git
From https://github.com/codefromthecrypt/envoy
 * [new tag]             v1.21.0    -> v1.21.0
==> Checking out tag v1.21.0
Previous HEAD position was 96701cb24 docs: fixes for release notes for 1.20 (#18403)
HEAD is now at 8a9779a61 build(deps): bump setuptools from 59.0.1 to 59.5.0 in /tools/base (#19201)
HEAD is now at 8a9779a61 build(deps): bump setuptools from 59.0.1 to 59.5.0 in /tools/base (#19201)
Error: v1.21.0 tag should be 9d5627a0879b0a029e90515137c108e1d2884bfc
but is actually 8a9779a615afebbff8b765d3fdd99c8c0c818591
MacBook-Air:homebrew thebots$ vi ./Library/Taps/homebrew/homebrew-core/Formula/envoy.rb
MacBook-Air:homebrew thebots$ brew install --build-from-source envoy
==> Downloading https://ghcr.io/v2/homebrew/core/cmake/manifests/3.22.0
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/0e6c1beadc6246cd1a5760e035b71640ac5673ffbee411d0c696f7c4a40aae96--cmake-3.22.0.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/cmake/blobs/sha256:2ecfdea833356807af17016cd40db4d51f04ad6c00479e
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/ac6eeaf46044bb24578718e225345f6294fb35fb3f2faa73f188a6d4d736cb92--cmake--3.22.0.arm64_monterey.bottle.tar.gz
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/manifests/1.10.2_1
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/3d885b06ee8943649e1e4f3edebcca2003dc2e9e332202cc2a0b16ccce4f8cae--ninja-1.10.2_1.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/ninja/blobs/sha256:8efac5a9c8b7028f64f5a092eb029ff40887b9895fe423
Already downloaded: /Users/thebots/Library/Caches/Homebrew/downloads/deb592b6fb7dd715b57a170608e055406d978bbc68c284ffa7ecef67acef899a--ninja--1.10.2_1.arm64_monterey.bottle.tar.gz
==> Cloning https://github.com/codefromthecrypt/envoy.git
Updating /Users/thebots/Library/Caches/Homebrew/envoy--git
==> Checking out tag v1.21.0
HEAD is now at 8a9779a61 build(deps): bump setuptools from 59.0.1 to 59.5.0 in /tools/base (#19201)
HEAD is now at 8a9779a61 build(deps): bump setuptools from 59.0.1 to 59.5.0 in /tools/base (#19201)
==> Installing dependencies for envoy: cmake and ninja
==> Installing envoy dependency: cmake
==> Pouring cmake--3.22.0.arm64_monterey.bottle.tar.gz
🍺  /opt/homebrew/Cellar/cmake/3.22.0: 2,986 files, 41.6MB
==> Installing envoy dependency: ninja
==> Pouring ninja--1.10.2_1.arm64_monterey.bottle.tar.gz
🍺  /opt/homebrew/Cellar/ninja/1.10.2_1: 10 files, 388KB
==> Installing envoy
==> /opt/homebrew/opt/bazelisk/bin/bazelisk build --compilation_mode=opt --curses=no --show_task_finish --verbose_
Last 15 lines from /Users/thebots/Library/Logs/Homebrew/envoy/01.bazelisk:
Analyzing: target //source/exe:envoy-static (20 packages loaded, 7 targets configured)
Analyzing: target //source/exe:envoy-static (20 packages loaded, 7 targets configured)
Analyzing: target //source/exe:envoy-static (20 packages loaded, 7 targets configured)
Analyzing: target //source/exe:envoy-static (20 packages loaded, 7 targets configured)
Analyzing: target //source/exe:envoy-static (20 packages loaded, 7 targets configured)
Analyzing: target //source/exe:envoy-static (20 packages loaded, 7 targets configured)
ERROR: /private/tmp/envoy-20211207-61335-aduab4/.brew_home/_bazel/dd0c3ef926b0a56f33d0ac8f5e25816a/external/local_config_cc/BUILD:48:19: in cc_toolchain_suite rule @local_config_cc//:toolchain: cc_toolchain_suite '@local_config_cc//:toolchain' does not contain a toolchain for cpu 'darwin_arm64'
ERROR: While resolving configuration keys for //bazel:gcc_build: Analysis of target '@local_config_cc//:toolchain' failed
ERROR: While resolving configuration keys for //source/exe:envoy-static: Analysis of target '@local_config_cc//:toolchain' failed
ERROR: Analysis of target '//source/exe:envoy-static' failed; build aborted: Analysis of target '@local_config_cc//:toolchain' failed
INFO: Elapsed time: 59.529s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (34 packages loaded, 202 targets configured)
FAILED: Build did NOT complete successfully (34 packages loaded, 202 targets configured)

READ THIS: https://docs.brew.sh/Troubleshooting

@keith
Copy link
Member

keith commented Dec 7, 2021

Thanks for testing, I've submitted Homebrew/homebrew-core#90601 which allows you to do brew install --build-from-source envoy --HEAD which helps test this more easily.

Is your host an M1 mac? Do you have a full installation of Xcode vs only the command line tools?

@Patrick0308
Copy link
Contributor

I tested on my m1 mac.

❯ bazel build envoy
Starting local Bazel server and connecting to it...
INFO: SHA256 (https://golang.org/dl/?mode=json&include=all) = dd71d0c702dbeb9a765da037c9792250fb9e440fa3bd5dbdca91db34f0265446
WARNING: Download from https://golang.org/dl/?mode=json&include=all failed: class java.io.IOException connect timed out
INFO: Analyzed target //:envoy (714 packages loaded, 43880 targets configured).
INFO: Found 1 target...
INFO: From Executing genrule @com_lightstep_tracer_cpp//:generate_version_h:
CMake Warning at CMakeLists.txt:74 (message):
  WITH_GRPC is not set; building without dynamic loading support.


-- The C compiler identification is AppleClang 13.0.0.13000029
-- The CXX compiler identification is AppleClang 13.0.0.13000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /var/folders/c5/rm398s_d2vs03cf07wqpr8dr0000gn/T/tmp.1sF7Wwfb
-- Cache values
BUILD_SHARED_LIBS:BOOL=ON
BUILD_STATIC_LIBS:BOOL=ON
CMAKE_BUILD_TYPE:STRING=
CMAKE_INSTALL_PREFIX:PATH=/usr/local
CMAKE_OSX_ARCHITECTURES:STRING=
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=
CMAKE_OSX_SYSROOT:PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk
DEFAULT_SSL_ROOTS_PEM:STRING=
HEADERS_ONLY:BOOL=ON
WITH_CARES:BOOL=OFF
WITH_DYNAMIC_LOAD:BOOL=ON
WITH_GRPC:BOOL=OFF
WITH_LIBEVENT:BOOL=OFF
ERROR: /private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/external/envoy/bazel/foreign_cc/BUILD:68:15: Foreign Cc - Configure: Building luajit failed: (Exit 1): bash failed: error executing command /bin/bash -c bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/wrapper_build_script.sh

Use --sandbox_debug to see verbose messages from the sandbox
rules_foreign_cc: Build failed!
rules_foreign_cc: Keeping temp build directory and dependencies directory for debug.
rules_foreign_cc: Please note that the directories inside a sandbox are still cleaned unless you specify --sandbox_debug Bazel command line flag.
rules_foreign_cc: Printing build logs:
_____ BEGIN BUILD LOGS _____

Bazel external C/C++ Rules. Building library luajit

xcrun: error: SDK "macosx12.0" cannot be located
xcrun: error: SDK "macosx12.0" cannot be located
xcrun: error: unable to lookup item 'Path' in SDK 'macosx12.0'
_____ END BUILD LOGS _____
rules_foreign_cc: Build wrapper script location: bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/wrapper_build_script.sh
rules_foreign_cc: Build script location: bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/build_script.sh
rules_foreign_cc: Build log location: bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/Configure.log

Target //source/exe:envoy-static failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 249.425s, Critical Path: 6.18s
INFO: 1752 processes: 1717 internal, 35 darwin-sandbox.
FAILED: Build did NOT complete successfully

@Patrick0308
Copy link
Contributor

@keith I fixed the above problem by sudo xcode-select --switch /Applications/Xcode.app. And It has built successfully. GOOD JOB!! THKS!!

@codefromthecrypt
Copy link
Contributor

codefromthecrypt commented Dec 7, 2021 via email

@Patrick0308
Copy link
Contributor

@codefromthecrypt The need to install XCODE and configure it correctly is probably unavoidable. Fortunately, the configuration is correct after installed XCODE in normal.

@carlocab
Copy link

carlocab commented Dec 7, 2021

@Patrick0308 would you happen to know what xcode-select --print-path was before you did xcode-select --switch?

Does doing

sudo xcode-select --switch /Library/Developer/CommandLineTools

not work?

@Patrick0308
Copy link
Contributor

@carlocab Sorry, I didn't print the PATH of the active developer directory before did xcode-select --switch. What I know is that before I did bazel build bazel that I updated my XCODE.
If I did sudo xcode-select --switch /Library/Developer/CommandLineTools, there are something wrong when building enovy.

❯ bazel build envoy
INFO: Analyzed target //:envoy (1 packages loaded, 16986 targets configured).
INFO: Found 1 target...
ERROR: /private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/external/com_googlesource_chromium_v8/BUILD.bazel:33:8: Executing genrule @com_googlesource_chromium_v8//:build failed: (Exit 1): bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
/private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/5978/execroot/envoy/external/com_googlesource_chromium_v8 /private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/5978/execroot/envoy
ERROR at //build/config/mac/mac_sdk.gni:92:19: Script returned non-zero exit code.
_mac_sdk_result = exec_script(script_name, sdk_info_args, "scope")
                  ^----------
Current dir: /private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/5978/execroot/envoy/external/com_googlesource_chromium_v8/out/wee8/
Command: python3 /private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/5978/execroot/envoy/external/com_googlesource_chromium_v8/build/config/apple/sdk_info.py macosx
Returned 1.
stderr:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/5978/execroot/envoy/external/com_googlesource_chromium_v8/build/config/apple/sdk_info.py", line 167, in <module>
    FillXcodeVersion(settings, args.developer_dir)
  File "/private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/5978/execroot/envoy/external/com_googlesource_chromium_v8/build/config/apple/sdk_info.py", line 80, in FillXcodeVersion
    lines = subprocess.check_output(['xcodebuild',
  File "/opt/homebrew/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/opt/homebrew/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['xcodebuild', '-version']' returned non-zero exit status 1.

See //build/config/sysroot.gni:71:5: whence it was imported.
    import("//build/config/mac/mac_sdk.gni")
    ^--------------------------------------
See //build/config/BUILDCONFIG.gn:410:23: which caused the file to be included.
  _linker_configs = [ "//build/config/mac:strip_all" ]
                      ^-----------------------------
Target //source/exe:envoy-static failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 4.012s, Critical Path: 1.80s
INFO: 3 processes: 3 internal.
FAILED: Build did NOT complete successfully

@carlocab
Copy link

carlocab commented Dec 7, 2021

Ah. Chromium. The formula probably needs a

depends_on xcode: :build

@codefromthecrypt
Copy link
Contributor

ok trying it on both my Macs prior to marking ready for review. 🤞 and thanks folks. seems we're nearly there (pending an envoy release) Homebrew/homebrew-core#90695

@codefromthecrypt
Copy link
Contributor

The error is now improved, if full Xcode isn't installed. Thanks for figuring this out @Patrick0308 and thanks for the config tip @carlocab!

$ brew install --build-from-source envoy --HEAD
envoy: A full installation of Xcode.app is required to compile
this software. Installing just the Command Line Tools is not sufficient.

Xcode can be installed from the App Store.
Error: envoy: An unsatisfied requirement failed this build.

@Patrick0308
Copy link
Contributor

I almost did nothing except bazel clean. But I built failed again.

/private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/1192/execroot/envoy/external/local_config_cc/wrapped_clang  -O2 -fomit-frame-pointer -Wall  -DLUAJIT_ENABLE_LUA52COMPAT  -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U_FORTIFY_SOURCE  -DLUA_ROOT=\"/private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/1192/execroot/envoy/bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit.build_tmpdir/luajit\" -DLUA_MULTILIB=\"lib\" -fno-stack-protector  -D_FORTIFY_SOURCE=1 -fstack-protector -fcolor-diagnostics -Wall -Wthread-safety -Wself-assign -fno-omit-frame-pointer -O0 -DDEBUG DEBUG_PREFIX_MAP_PWD=. -isysroot __BAZEL_XCODE_SDKROOT__ -F__BAZEL_XCODE_SDKROOT__/System/Library/Frameworks -F__BAZEL_XCODE_DEVELOPER_DIR__/Platforms/MacOSX.platform/Developer/Library/Frameworks -mmacosx-version-min=12.0 -no-canonical-prefixes -Wno-builtin-macro-redefined -D__DATE__=redacted -D__TIMESTAMP__=redacted -D__TIME__=redacted -target arm64-apple-macosx -fno-function-sections -fno-data-sections -c -o luajit.o luajit.c
HOSTLINK  host/minilua
/private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/1192/execroot/envoy/external/local_config_cc/wrapped_clang  -lc++ -fobjc-link-runtime -headerpad_max_install_names -no-canonical-prefixes -target arm64-apple-macosx -mmacosx-version-min=12.0   -o host/minilua host/minilua.o -lm
ld: warning: ignoring file host/minilua.o, building for macOS-arm64 but attempting to link with file built for unknown-x86_64
Undefined symbols for architecture arm64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error in child process '/usr/bin/xcrun'. 1
make[1]: *** [host/minilua] Abort trap: 6
make: *** [src/luajit] Error 2
+ set +x
cp: /private/var/tmp/_bazel_patrick/8c59177cb250ffabcb42d9e36319c1f2/sandbox/darwin-sandbox/1192/execroot/envoy/bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit.build_tmpdir/luajit: No such file or directory
_____ END BUILD LOGS _____
rules_foreign_cc: Build wrapper script location: bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/wrapper_build_script.sh
rules_foreign_cc: Build script location: bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/build_script.sh
rules_foreign_cc: Build log location: bazel-out/darwin_arm64-fastbuild/bin/external/envoy/bazel/foreign_cc/luajit_foreign_cc/Configure.log

Target //source/exe:envoy-static failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 433.514s, Critical Path: 216.65s
INFO: 3005 processes: 1726 internal, 1278 darwin-sandbox, 1 worker.
FAILED: Build did NOT complete successfully

@codefromthecrypt
Copy link
Contributor

After installing, switching to, and accepting the license of full Xcode, the current main branch works for me on my M1 laptop!

Looking forward to 1.21 as it will allow homebrew to remove the arm64 exception!

$ brew install --HEAD envoy
==> Cloning https://github.com/envoyproxy/envoy.git
Updating /Users/thebots/Library/Caches/Homebrew/envoy--git
==> Checking out branch main
Already on 'main'
Your branch is up to date with 'origin/main'.
HEAD is now at e246aec1d Update presubmit.yml for Bazel CI (#19197)
==> /opt/homebrew/opt/bazelisk/bin/bazelisk build --compilation_mode=opt --curses=no --show_task_finish --verbose_failures --action_


🍺  /opt/homebrew/Cellar/envoy/HEAD-e246aec: 321 files, 92.6MB, built in 33 minutes 4 seconds
==> Running `brew cleanup envoy`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

$ envoy --version

envoy  version: e246aec1d8e84b7c99402c7b15f34e04088347b1/1.21.0-dev/Modified/RELEASE/BoringSSL

$ brew test --HEAD envoy
==> Testing envoy
[2021-12-08 20:47:28.509][177845][info][main] [source/server/server.cc:381] initializing epoch 0 (base id=0, hot restart version=disabled)
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:383] statically linked extensions:
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.access_loggers: envoy.access_loggers.file, envoy.access_loggers.http_grpc, envoy.access_loggers.open_telemetry, envoy.access_loggers.stderr, envoy.access_loggers.stdout, envoy.access_loggers.tcp_grpc, envoy.access_loggers.wasm, envoy.file_access_log, envoy.http_grpc_access_log, envoy.open_telemetry_access_log, envoy.stderr_access_log, envoy.stdout_access_log, envoy.tcp_grpc_access_log, envoy.wasm_access_log
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.request_id: envoy.request_id.uuid
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.upstream_options: envoy.extensions.upstreams.http.v3.HttpProtocolOptions, envoy.upstreams.http.http_protocol_options
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.compression.decompressor: envoy.compression.brotli.decompressor, envoy.compression.gzip.decompressor
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.retry_priorities: envoy.retry_priorities.previous_priorities
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.grpc_credentials: envoy.grpc_credentials.aws_iam, envoy.grpc_credentials.default, envoy.grpc_credentials.file_based_metadata
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.transport_sockets.downstream: envoy.transport_sockets.alts, envoy.transport_sockets.quic, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.starttls, envoy.transport_sockets.tap, envoy.transport_sockets.tcp_stats, envoy.transport_sockets.tls, raw_buffer, starttls, tls
[2021-12-08 20:47:28.510][177845][info][main] [source/server/server.cc:385]   envoy.filters.http: envoy.bandwidth_limit, envoy.buffer, envoy.cors, envoy.csrf, envoy.ext_authz, envoy.ext_proc, envoy.fault, envoy.filters.http.adaptive_concurrency, envoy.filters.http.admission_control, envoy.filters.http.alternate_protocols_cache, envoy.filters.http.aws_lambda, envoy.filters.http.aws_request_signing, envoy.filters.http.bandwidth_limit, envoy.filters.http.buffer, envoy.filters.http.cache, envoy.filters.http.cdn_loop, envoy.filters.http.composite, envoy.filters.http.compressor, envoy.filters.http.cors, envoy.filters.http.csrf, envoy.filters.http.decompressor, envoy.filters.http.dynamic_forward_proxy, envoy.filters.http.dynamo, envoy.filters.http.ext_authz, envoy.filters.http.ext_proc, envoy.filters.http.fault, envoy.filters.http.grpc_http1_bridge, envoy.filters.http.grpc_http1_reverse_bridge, envoy.filters.http.grpc_json_transcoder, envoy.filters.http.grpc_stats, envoy.filters.http.grpc_web, envoy.filters.http.header_to_metadata, envoy.filters.http.health_check, envoy.filters.http.ip_tagging, envoy.filters.http.jwt_authn, envoy.filters.http.local_ratelimit, envoy.filters.http.lua, envoy.filters.http.oauth2, envoy.filters.http.on_demand, envoy.filters.http.original_src, envoy.filters.http.ratelimit, envoy.filters.http.rbac, envoy.filters.http.router, envoy.filters.http.set_metadata, envoy.filters.http.tap, envoy.filters.http.wasm, envoy.grpc_http1_bridge, envoy.grpc_json_transcoder, envoy.grpc_web, envoy.health_check, envoy.http_dynamo_filter, envoy.ip_tagging, envoy.local_rate_limit, envoy.lua, envoy.rate_limit, envoy.router, match-wrapper
[2021-12-08 20:47:28.511][177845][info][main] [source/server/server.cc:385]   envoy.bootstrap: envoy.bootstrap.wasm, envoy.extensions.network.socket_interface.default_socket_interface
[2021-12-08 20:47:28.512][177845][info][main] [source/server/server.cc:385]   envoy.dubbo_proxy.protocols: dubbo
[2021-12-08 20:47:28.512][177845][info][main] [source/server/server.cc:385]   envoy.rbac.matchers: envoy.rbac.matchers.upstream_ip_port
[2021-12-08 20:47:28.512][177845][info][main] [source/server/server.cc:385]   envoy.formatter: envoy.formatter.metadata, envoy.formatter.req_without_query
[2021-12-08 20:47:28.512][177845][info][main] [source/server/server.cc:385]   envoy.resource_monitors: envoy.resource_monitors.fixed_heap, envoy.resource_monitors.injected_resource
[2021-12-08 20:47:28.512][177845][info][main] [source/server/server.cc:385]   envoy.filters.listener: envoy.filters.listener.http_inspector, envoy.filters.listener.original_dst, envoy.filters.listener.original_src, envoy.filters.listener.proxy_protocol, envoy.filters.listener.tls_inspector, envoy.listener.http_inspector, envoy.listener.original_dst, envoy.listener.original_src, envoy.listener.proxy_protocol, envoy.listener.tls_inspector
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.matching.input_matchers: envoy.matching.matchers.consistent_hashing, envoy.matching.matchers.ip
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.retry_host_predicates: envoy.retry_host_predicates.omit_canary_hosts, envoy.retry_host_predicates.omit_host_metadata, envoy.retry_host_predicates.previous_hosts
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.tracers: envoy.dynamic.ot, envoy.lightstep, envoy.tracers.datadog, envoy.tracers.dynamic_ot, envoy.tracers.lightstep, envoy.tracers.opencensus, envoy.tracers.skywalking, envoy.tracers.xray, envoy.tracers.zipkin, envoy.zipkin
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.http.cache: envoy.extensions.http.cache.simple
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.http.original_ip_detection: envoy.http.original_ip_detection.custom_header, envoy.http.original_ip_detection.xff
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.filters.udp_listener: envoy.filters.udp.dns_filter, envoy.filters.udp_listener.udp_proxy
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.stats_sinks: envoy.dog_statsd, envoy.graphite_statsd, envoy.metrics_service, envoy.stat_sinks.dog_statsd, envoy.stat_sinks.graphite_statsd, envoy.stat_sinks.hystrix, envoy.stat_sinks.metrics_service, envoy.stat_sinks.statsd, envoy.stat_sinks.wasm, envoy.statsd
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.resolvers: envoy.ip
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.matching.http.input: request-headers, request-trailers, response-headers, response-trailers
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.common.key_value: envoy.key_value.file_based
[2021-12-08 20:47:28.513][177845][info][main] [source/server/server.cc:385]   envoy.network.dns_resolver: envoy.network.dns_resolver.apple, envoy.network.dns_resolver.cares
[2021-12-08 20:47:28.514][177845][info][main] [source/server/server.cc:385]   envoy.quic.server.crypto_stream: envoy.quic.crypto_stream.server.quiche
[2021-12-08 20:47:28.514][177845][info][main] [source/server/server.cc:385]   envoy.matching.common_inputs: envoy.matching.common_inputs.environment_variable
[2021-12-08 20:47:28.514][177845][info][main] [source/server/server.cc:385]   envoy.tls.cert_validator: envoy.tls.cert_validator.default, envoy.tls.cert_validator.spiffe
[2021-12-08 20:47:28.514][177845][info][main] [source/server/server.cc:385]   envoy.guarddog_actions: envoy.watchdog.abort_action, envoy.watchdog.profile_action
[2021-12-08 20:47:28.514][177845][info][main] [source/server/server.cc:385]   envoy.transport_sockets.upstream: envoy.transport_sockets.alts, envoy.transport_sockets.quic, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.starttls, envoy.transport_sockets.tap, envoy.transport_sockets.tcp_stats, envoy.transport_sockets.tls, envoy.transport_sockets.upstream_proxy_protocol, raw_buffer, starttls, tls
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.access_logger.extension_filters: envoy.access_loggers.extension_filters.cel
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.thrift_proxy.filters: envoy.filters.thrift.header_to_metadata, envoy.filters.thrift.rate_limit, envoy.filters.thrift.router
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.dubbo_proxy.filters: envoy.filters.dubbo.router
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.upstreams: envoy.filters.connection_pools.tcp.generic
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.health_checkers: envoy.health_checkers.redis
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.rate_limit_descriptors: envoy.rate_limit_descriptors.expr
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.thrift_proxy.transports: auto, framed, header, unframed
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.clusters: envoy.cluster.eds, envoy.cluster.logical_dns, envoy.cluster.original_dst, envoy.cluster.static, envoy.cluster.strict_dns, envoy.clusters.aggregate, envoy.clusters.dynamic_forward_proxy, envoy.clusters.redis
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.matching.action: composite-action, skip
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.internal_redirect_predicates: envoy.internal_redirect_predicates.allow_listed_routes, envoy.internal_redirect_predicates.previous_routes, envoy.internal_redirect_predicates.safe_cross_scheme
[2021-12-08 20:47:28.517][177845][info][main] [source/server/server.cc:385]   envoy.http.stateful_header_formatters: preserve_case
[2021-12-08 20:47:28.518][177845][info][main] [source/server/server.cc:385]   envoy.filters.network: envoy.client_ssl_auth, envoy.echo, envoy.ext_authz, envoy.filters.network.client_ssl_auth, envoy.filters.network.connection_limit, envoy.filters.network.direct_response, envoy.filters.network.dubbo_proxy, envoy.filters.network.echo, envoy.filters.network.ext_authz, envoy.filters.network.http_connection_manager, envoy.filters.network.local_ratelimit, envoy.filters.network.mongo_proxy, envoy.filters.network.ratelimit, envoy.filters.network.rbac, envoy.filters.network.redis_proxy, envoy.filters.network.sni_cluster, envoy.filters.network.sni_dynamic_forward_proxy, envoy.filters.network.tcp_proxy, envoy.filters.network.thrift_proxy, envoy.filters.network.wasm, envoy.filters.network.zookeeper_proxy, envoy.http_connection_manager, envoy.mongo_proxy, envoy.ratelimit, envoy.redis_proxy, envoy.tcp_proxy
[2021-12-08 20:47:28.518][177845][info][main] [source/server/server.cc:385]   envoy.compression.compressor: envoy.compression.brotli.compressor, envoy.compression.gzip.compressor
[2021-12-08 20:47:28.519][177845][info][main] [source/server/server.cc:385]   envoy.dubbo_proxy.serializers: dubbo.hessian2
[2021-12-08 20:47:28.519][177845][info][main] [source/server/server.cc:385]   envoy.thrift_proxy.protocols: auto, binary, binary/non-strict, compact, twitter
[2021-12-08 20:47:28.519][177845][info][main] [source/server/server.cc:385]   envoy.dubbo_proxy.route_matchers: default
[2021-12-08 20:47:28.519][177845][info][main] [source/server/server.cc:385]   envoy.wasm.runtime: envoy.wasm.runtime.null, envoy.wasm.runtime.v8
[2021-12-08 20:47:28.519][177845][info][main] [source/server/server.cc:385]   envoy.quic.proof_source: envoy.quic.proof_source.filter_chain
[2021-12-08 20:47:28.521][177845][info][main] [source/server/server.cc:433] HTTP header map info:
[2021-12-08 20:47:28.521][177845][info][main] [source/server/server.cc:436]   request header map: 640 bytes: :authority,:method,:path,:protocol,:scheme,accept,accept-encoding,access-control-request-method,authentication,authorization,cache-control,cdn-loop,connection,content-encoding,content-length,content-type,expect,grpc-accept-encoding,grpc-timeout,if-match,if-modified-since,if-none-match,if-range,if-unmodified-since,keep-alive,origin,pragma,proxy-connection,referer,te,transfer-encoding,upgrade,user-agent,via,x-client-trace-id,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-downstream-service-cluster,x-envoy-downstream-service-node,x-envoy-expected-rq-timeout-ms,x-envoy-external-address,x-envoy-force-trace,x-envoy-hedge-on-per-try-timeout,x-envoy-internal,x-envoy-ip-tags,x-envoy-max-retries,x-envoy-original-path,x-envoy-original-url,x-envoy-retriable-header-names,x-envoy-retriable-status-codes,x-envoy-retry-grpc-on,x-envoy-retry-on,x-envoy-upstream-alt-stat-name,x-envoy-upstream-rq-per-try-timeout-ms,x-envoy-upstream-rq-timeout-alt-response,x-envoy-upstream-rq-timeout-ms,x-envoy-upstream-stream-duration-ms,x-forwarded-client-cert,x-forwarded-for,x-forwarded-host,x-forwarded-proto,x-ot-span-context,x-request-id
[2021-12-08 20:47:28.521][177845][info][main] [source/server/server.cc:436]   request trailer map: 128 bytes: 
[2021-12-08 20:47:28.521][177845][info][main] [source/server/server.cc:436]   response header map: 424 bytes: :status,access-control-allow-credentials,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-expose-headers,access-control-max-age,age,cache-control,connection,content-encoding,content-length,content-type,date,etag,expires,grpc-message,grpc-status,keep-alive,last-modified,location,proxy-connection,server,transfer-encoding,upgrade,vary,via,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-degraded,x-envoy-immediate-health-check-fail,x-envoy-ratelimited,x-envoy-upstream-canary,x-envoy-upstream-healthchecked-cluster,x-envoy-upstream-service-time,x-request-id
[2021-12-08 20:47:28.522][177845][info][main] [source/server/server.cc:436]   response trailer map: 152 bytes: grpc-message,grpc-status
[2021-12-08 20:47:28.523][177845][info][main] [source/server/server.cc:772] runtime: {}
[2021-12-08 20:47:28.523][177845][info][admin] [source/server/admin/admin.cc:134] admin address: 0.0.0.0:49898
[2021-12-08 20:47:28.523][177845][info][config] [source/server/configuration_impl.cc:127] loading tracing configuration
[2021-12-08 20:47:28.523][177845][info][config] [source/server/configuration_impl.cc:87] loading 0 static secret(s)
[2021-12-08 20:47:28.523][177845][info][config] [source/server/configuration_impl.cc:93] loading 1 cluster(s)
[2021-12-08 20:47:28.524][177845][info][config] [source/server/configuration_impl.cc:97] loading 1 listener(s)
[2021-12-08 20:47:28.525][177845][warning][config] [source/server/listener_impl.cc:932] reuse_port was configured for TCP listener 'listener_0' and is being force disabled because Envoy is not running on Linux. See the documentation for more information.
[2021-12-08 20:47:28.525][177845][info][config] [source/server/configuration_impl.cc:109] loading stats configuration
[2021-12-08 20:47:28.526][177845][info][main] [source/server/server.cc:868] starting main dispatch loop
[2021-12-08 20:47:28.638][177845][info][runtime] [source/common/runtime/runtime_impl.cc:448] RTDS has finished initialization
[2021-12-08 20:47:28.638][177845][info][upstream] [source/common/upstream/cluster_manager_impl.cc:207] cm init: all clusters initialized
[2021-12-08 20:47:28.638][177845][info][main] [source/server/server.cc:849] all clusters initialized. initializing init manager
[2021-12-08 20:47:28.638][177845][info][config] [source/server/listener_manager_impl.cc:784] all dependencies initialized. starting workers
[2021-12-08 20:47:28.639][177845][warning][main] [source/server/server.cc:747] there is no configured limit to the number of allowed active connections. Set a limit via the runtime key overload.global_downstream_max_connections
==> curl -s 127.0.0.1:49898/clusters?format=json
Killing child processes...
[2021-12-08 20:47:38.539][177845][warning][main] [source/server/server.cc:807] caught ENVOY_SIGTERM
[2021-12-08 20:47:38.539][177845][info][main] [source/server/server.cc:933] shutting down server instance
[2021-12-08 20:47:38.539][177845][info][main] [source/server/server.cc:873] main dispatch loop exited
[2021-12-08 20:47:38.540][177845][info][main] [source/server/server.cc:925] exiting

@ggreenway ggreenway removed their assignment Jan 4, 2022
@Patrick0308
Copy link
Contributor

Patrick0308 commented Feb 7, 2022

I build successfully now. I'm not quite sure what the problem was that caused built failed. I just uninstalled anaconda and it works. I think this issue can be closed.

@keith
Copy link
Member

keith commented Mar 4, 2022

In general I think we should close this one and encourage folks to file new issues as they pop up

@davinci26
Copy link
Member

hey folks, is m1 fast at compiling envoy? Do people have a good dev experience with m1?

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

No branches or pull requests