a74ebc9bac
The tools in genrules [1] correspond to the HOST's version, which is a problem if we are doing cross-platform builds. In this case, when I was using my M1 Mac to run on a Linux RBE platform, the Mac's python binaries (e.g. python3_9_aarch64-apple-darwin/bin/python3) were being uploaded to RBE and attempted to be used, which resulted in OSError: [Errno 8] Exec format error because the won't run on the Linux RBE machine. Thanks to tjgq@, I learned about exec_tools [2], which will use the version of the tools for the EXECUTION platform, which is exactly what we want. While debugging this, I added a minimal reproduction case in //experimental/bazel_test and updated the py_tools version in an effort to diagnose the issue further. We will need to contribute similar fixes to @spirv_tools [1] https://bazel.build/reference/be/general#genrule.tools [2] https://bazel.build/reference/be/general#genrule.exec_tools Bug: skia:12541 Change-Id: Ib14deb4e326d3103fd08c21e93afe342d751c17a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/554518 Reviewed-by: Jorge Betancourt <jmbetancourt@google.com> |
||
---|---|---|
.. | ||
angle2 | ||
brotli | ||
cpu-features | ||
d3d12allocator | ||
dng_sdk | ||
etc1 | ||
expat | ||
freetype2 | ||
harfbuzz | ||
highway | ||
icu | ||
imgui | ||
libjpeg-turbo | ||
libjxl | ||
libmicrohttpd | ||
libpng | ||
libwebp | ||
lua | ||
native_app_glue | ||
oboe | ||
perfetto | ||
piex | ||
rive | ||
sfntly | ||
skcms | ||
spirv-cross | ||
vulkanmemoryallocator | ||
wuffs | ||
zlib | ||
BUILD.bazel | ||
BUILD.gn | ||
README | ||
third_party.gni |
The third_party directory contains a set of dependencies from outside sources that are needed to build various components and tools within Skia. Some of these dependencies reside within the Skia repo, while others are pulled from other repositories and placed in the third_party/externals directory during build. These external dependencies are defined in a DEPS file. Products in third_party are subject to their own respective license terms. The license for each project should be included in the source itself via a license header or file. If the source itself does not include a license header or file, create a README that refers to reliable documentation of the project's license terms on the web.