envoy: ppc64le CI build always fails

Currently we have a build triggered here https://powerci.osuosl.org/job/build-envoy-static-master/

it always fails with:

Extracting Bazel installation...
Starting local Bazel server and connecting to it...
INFO: Reading rc options for 'build' from /home/alfred/jenkins/workspace/build-envoy-static-master/.bazelrc:
  'build' options: --color=yes --workspace_status_command=bash bazel/get_workspace_status --incompatible_strict_action_env --host_force_python=PY3 --java_runtime_version=remotejdk_11 --tool_java_runtime_version=remotejdk_11 --platform_mappings=bazel/platform_mappings --copt=-DABSL_MIN_LOG_LEVEL=4 --action_env=CC --host_action_env=CC --action_env=CXX --host_action_env=CXX --action_env=LLVM_CONFIG --host_action_env=LLVM_CONFIG --action_env=PATH --host_action_env=PATH --enable_platform_specific_config --test_summary=terse --incompatible_config_setting_private_default_visibility --incompatible_enforce_config_setting_visibility --define absl=1 --@com_googlesource_googleurl//build_config:system_icu=0 --test_env=HEAPCHECK=normal --test_env=PPROF_PATH
ERROR: --host_action_env=CC :: Unrecognized option: --host_action_env=CC
Build step 'Execute shell' marked build as failure
Stopping Docker container after build completion
Finished: FAILURE

im guessing a bazel version or similar, but not sure

apart from wasted cycles it means we always have a failing status badge - we should either fix or remove the badge if its not expected to pass and noone intends to fix

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Comments: 26 (23 by maintainers)

Most upvoted comments

Today I manually built Python for ppc64le and modified the rules_python package. Currently, python dependency can be normally downloaded after manual patching (for envoy 1.23.3, used by istio 1.15.4, use bazel 5.2

Other envoy version need to patch specific rules_python version.

diff --git a/bazel/repositories_extra.bzl b/bazel/repositories_extra.bzl
index 885b41dec6..5649dc9e36 100644
--- a/bazel/repositories_extra.bzl
+++ b/bazel/repositories_extra.bzl
@@ -5,7 +5,7 @@ load("//bazel/external/cargo:crates.bzl", "raze_fetch_remote_crates")
 load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
 
 # Python version for `rules_python`
-PYTHON_VERSION = "3.10.2"
+PYTHON_VERSION = "3.10.9"
 
 # Envoy deps that rely on a first stage of dependency loading in envoy_dependencies().
 def envoy_dependencies_extra(python_version = PYTHON_VERSION):
diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl
index 0992ec2559..2d5c3a8913 100644
--- a/bazel/repository_locations.bzl
+++ b/bazel/repository_locations.bzl
@@ -794,11 +794,11 @@ REPOSITORY_LOCATIONS_SPEC = dict(
         project_name = "Python rules for Bazel",
         project_desc = "Bazel rules for the Python language",
         project_url = "https://github.com/bazelbuild/rules_python",
-        version = "0.9.0",
-        sha256 = "5fa3c738d33acca3b97622a13a741129f67ef43f5fdfcec63b29374cc0574c29",
-        release_date = "2022-06-12",
+        version = "0.9.0-ppc64le-dirty-fix",
+        sha256 = "7127f9aaad346950a63e346b53a29d562ac56805d74e05dcd9ded3cf54591fcc",
+        release_date = "2023-03-08",
         strip_prefix = "rules_python-{version}",
-        urls = ["https://github.com/bazelbuild/rules_python/archive/{version}.tar.gz"],
+        urls = ["https://github.com/ninehills/rules_python/archive/{version}.tar.gz"],
         use_category = ["build"],
     ),
     rules_pkg = dict(

Ah, thanks for that.

Maaaaybe not hopeless! I submitted https://github.com/indygreg/python-build-standalone/pull/165 and I’ll try to use that here. They do have s390x support, and they cross-compile everything. Hoping it’s simple and that I won’t need to chase down too many of these projects. I think I’ll have to add a new triple in the rules_python repo at the very least.

the fail logs