Title: One line description
ppc64 build is not explicitly supported for wee8 gen_rule cmd file.
Description:
The ppc64le build has been failing since https://github.com/envoyproxy/envoy/commit/319a9a647f19036d831a75f68350c90e98bfc365 was introduced. The gen_rule cmd does not include the instructions inside of https://github.com/envoyproxy/envoy/blob/master/bazel/external/wee8.genrule_cmd#L6 so it errors out.
I am working on a fix to insert the correct arch and flags to gn and also adding gn to the ppc build container.
Repro steps:
https://powerci.osuosl.org/job/build-envoy-static-master/2775/console
/assign
Ok I made sure that our build-container has gn now and added the following patch
+++ b/bazel/external/wee8.genrule_cmd
@@ -4,7 +4,7 @@ set -e
# This works only on Linux-{x86_64,s390x,aarch64} and macOS-x86_64.
case "$$(uname -s)-$$(uname -m)" in
-Linux-x86_64|Linux-s390x|Linux-aarch64|Darwin-x86_64)
+Linux-x86_64|Linux-s390x|Linux-aarch64|Linux-ppc64le|Darwin-x86_64)
;;
*)
echo "ERROR: wee8 is currently supported only on Linux-{x86_64,s390x,aarch64} and macOS-x86_64." >&2
@@ -88,6 +88,9 @@ WEE8_BUILD_ARGS+=" v8_enable_shared_ro_heap=false"
if [[ `uname -m` == "aarch64" ]]; then
WEE8_BUILD_ARGS+=" target_cpu=\"arm64\""
fi
+if [[ `uname -m` == "ppc64le" ]]; then
+ WEE8_BUILD_ARGS+=" target_cpu=\"ppc64\""
+fi
Unfortunately I am now getting an error that might be more to do with bazel than wee8 now
ERROR: /home/jenkins/.cache/bazel/_bazel_root/f02b2e6be72ce6e3df1eb70c57db6cf9/external/com_googlesource_chromium_v8/BUILD.bazel:27: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
/home/jenkins/.cache/bazel/_bazel_root/f02b2e6be72ce6e3df1eb70c57db6cf9/sandbox/processwrapper-sandbox/3507/execroot/envoy/external/com_googlesource_chromium_v8/wee8 /home/jenkins/.cache/bazel/_bazel_root/f02b2e6be72ce6e3df1eb70c57db6cf9/sandbox/processwrapper-sandbox/3507/execroot/envoy
ERROR at //gni/v8.gni:196:3: Dependency not allowed.
source_set(target_name) {
^------------------------
The item //src/inspector:inspector_test_headers
can not depend on //:features
because it is not in //:features's visibility list: [
//.:*
]
cc @clnperez
Thanks @cmluciano. Hopefully someone with better bazel foo than I knows what that last error means.